diff --git a/public/favicon.ico b/public/favicon.ico index 5f2c1c7..9aa20a7 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/logo192.png b/public/logo192.png index fc44b0a..95c6598 100644 Binary files a/public/logo192.png and b/public/logo192.png differ diff --git a/public/logo512.png b/public/logo512.png index 3e9587b..4a2ee5e 100644 Binary files a/public/logo512.png and b/public/logo512.png differ diff --git a/python/conver_images.txt b/python/conver_images.txt index 883723c..a25dcc5 100644 --- a/python/conver_images.txt +++ b/python/conver_images.txt @@ -1,6 +1,6 @@ # create favicon -magick mosquito.png -background none -resize 128x128 -density 128x128 favicon.ico +magick icon.png -background none -resize 128x128 -density 128x128 favicon.ico -magick mosquito.png -background none -resize 192x192 -density 192x192 logo192.png -magick mosquito.png -background none -resize 512x512 -density 512x512 logo512.png +magick icon.png -background none -resize 192x192 -density 192x192 logo192.png +magick icon.png -background none -resize 512x512 -density 512x512 logo512.png diff --git a/python/download_dengue_data.py b/python/download_dengue_data.py index aa92943..d954ab5 100644 --- a/python/download_dengue_data.py +++ b/python/download_dengue_data.py @@ -4,6 +4,7 @@ import json from bs4 import BeautifulSoup as Soup +import datetime as dt import requests import zipfile import io @@ -12,9 +13,9 @@ data_gov = "https://data.gov.sg/dataset/dengue-clusters" html_text = requests.get(data_gov).text -soup = Soup(html_text, 'html.parser') +soup = Soup(html_text, "html.parser") -data_id = soup.find('a', {"class": "ga-dataset-download"}).get("href") +data_id = soup.find("a", {"class": "ga-dataset-download"}).get("href") url_data = f"https://data.gov.sg{data_id}" @@ -22,26 +23,43 @@ z = zipfile.ZipFile(io.BytesIO(r.content)) file = z.open("dengue-clusters-kml.kml") -soup = Soup(file.read(), 'lxml') # Parse as XML +soup = Soup(file.read(), "lxml") # Parse as XML -place_marks = soup.find_all('placemark') +place_marks = soup.find_all("placemark") dict_to_export = {} +dir_timeline_cases = os.path.join( + os.getcwd(), "src", "Data", "timeline_cases_location.json" +) + +try: + with open(dir_timeline_cases) as json_file: + timeline_cases_location = json.load(json_file) +except FileNotFoundError: + timeline_cases_location = {} + for place_mark in place_marks: - location_name = \ - place_mark.find('td').string.split("(")[0].split("[")[0].split(",")[0].split("/")[ - 0].strip() - number_cases = int(place_mark.find('simpledata', {"name": "CASE_SIZE"}).string) + # get location name + location_name = ( + place_mark.find("td") + .string.split("(")[0] + .split("[")[0] + .split(",")[0] + .split("/")[0] + .strip() + ) - coordinates = place_mark.find('coordinates') + number_cases = int(place_mark.find("simpledata", {"name": "CASE_SIZE"}).string) - elements = coordinates.string.split(',0.0') + coordinates = place_mark.find("coordinates") + + elements = coordinates.string.split(",0.0") polyline = [] for e in elements[:-1]: - lon, lat = e.split(',') + lon, lat = e.split(",") polyline.append([float(lat), float(lon)]) if number_cases < 5: @@ -59,14 +77,28 @@ elif number_cases >= 200: color = "#000" - dict_to_export[location_name] = {"cases": number_cases, - "coordinates": polyline, - "color": color} + dict_to_export[location_name] = { + "cases": number_cases, + "coordinates": polyline, + "color": color, + } + + try: + timeline_cases_location[location_name] + except KeyError: + timeline_cases_location[location_name] = {} + + date = dt.datetime.now().isoformat().split("T")[0] + + timeline_cases_location[location_name][date] = number_cases # save_dir = os.path.join(os.path.dirname(os.getcwd()), "src", "Data", "dengue_data.json") save_dir = os.path.join(os.getcwd(), "src", "Data", "dengue_data.json") -with open(save_dir, 'w') as fp: +with open(save_dir, "w") as fp: json.dump(dict_to_export, fp) +with open(dir_timeline_cases, "w") as fp: + json.dump(timeline_cases_location, fp) + print("data correctly downloaded") diff --git a/src/Components/Footer.js b/src/Components/Footer.js index 22da654..d4e7cb5 100644 --- a/src/Components/Footer.js +++ b/src/Components/Footer.js @@ -1,7 +1,7 @@ import React from "react"; import { faGithub, faLinkedin } from "@fortawesome/free-brands-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -const logo = require("../Static/Icons/mosquito.png"); +const logo = require("../Static/Icons/icon.png"); function Footer() { return ( @@ -16,9 +16,9 @@ function Footer() { {/* todo add webp image */} - Dengue Singapore + Dengue Singapore

Dengue SG

diff --git a/src/Components/NavigationBar.js b/src/Components/NavigationBar.js index 274eab5..2949aba 100644 --- a/src/Components/NavigationBar.js +++ b/src/Components/NavigationBar.js @@ -1,7 +1,7 @@ import React from "react"; import { Link } from "react-router-dom"; -const logo = require("../Static/Icons/mosquito.png"); +const logo = require("../Static/Icons/icon.png"); function NavigationBar() { const [navbarOpen, setNavbarOpen] = React.useState(false); @@ -10,7 +10,7 @@ function NavigationBar() {