From d5c6f1478bde2324c2f746e2ebf9fadb6136a511 Mon Sep 17 00:00:00 2001 From: thomaswoehlke <thomas.woehlke@gmail.com> Date: Mon, 18 Jan 2021 14:37:35 +0100 Subject: [PATCH] ### 0.0.8 Release * Issue #13 /who/imported/ * Issue #14 /europe/imported/ * Issue #3 ORM: 3NF for ecdc_europa_data_import * Issue #4 data update for 3NF ecdc_europa_data_import --- .gitignore | 1 + app.py | 5 +++-- org/woehlke/covid19/europe/europe_service.py | 15 +++++++++++---- server_mq.py | 16 ++++++++++++++-- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index aa083a86..24309943 100644 --- a/.gitignore +++ b/.gitignore @@ -1136,3 +1136,4 @@ Debug*/Debug*\ Libs /download *.wget /WHO-COVID-19-global-data *.csv /data/WHO-COVID-19-global-data *.csv +/data/ecdc_europa_data (1).csv diff --git a/app.py b/app.py index e68f18d1..cf3c0622 100644 --- a/app.py +++ b/app.py @@ -7,7 +7,7 @@ from org.woehlke.covid19.who.who_model import WhoRegion, WhoCountry, WhoDateRepo from org.woehlke.covid19.who.who_service import WhoService from org.woehlke.covid19.europe.europe_model import EuropeDataImportTable from org.woehlke.covid19.europe.europe_service import EuropeService -from server_mq import who_run_update_task, alive_message_task, who_update_short_task +from server_mq import who_run_update_task, alive_message_task, who_update_short_task, europe_update_task class ApplicationPage: @@ -238,7 +238,8 @@ def url_europe_tasks(): @app.route('/europe/update') def europe_update_data(): - europe_service.run_update() + europe_service.download() + europe_update_task.apply_async() flash("europe_service.run_update started") return redirect(url_for('home')) diff --git a/org/woehlke/covid19/europe/europe_service.py b/org/woehlke/covid19/europe/europe_service.py index c5df4cd6..fe64e3bb 100644 --- a/org/woehlke/covid19/europe/europe_service.py +++ b/org/woehlke/covid19/europe/europe_service.py @@ -31,9 +31,9 @@ class EuropeService: os.makedirs('data', exist_ok=True) app.logger.info("------------------------------------------------------------") try: - data_file = wget.download(self.__url_src_data) - os.remove(self.__src_europa_cvsfile_name) - os.renames(data_file, self.__src_europa_cvsfile_name) + data_file = wget.download(self.__url_src_data,self.__src_europa_cvsfile_name) + #os.remove(self.__src_europa_cvsfile_name) + #os.renames(data_file, self.__src_europa_cvsfile_name) app.logger.info("------------------------------------------------------------") except Exception as error: app.logger.warning(error) @@ -93,10 +93,17 @@ class EuropeService: def __update_db(self): return self + def download(self): + app.logger.info(" download [begin]") + app.logger.info("------------------------------------------------------------") + self.__download() + app.logger.info(" download [done]") + app.logger.info("------------------------------------------------------------") + return self + def run_update(self): app.logger.info(" run [begin]") app.logger.info("------------------------------------------------------------") - self.__download() self.__import() self.__update_db() app.logger.info(" run [done]") diff --git a/server_mq.py b/server_mq.py index 9917a23d..209e55be 100644 --- a/server_mq.py +++ b/server_mq.py @@ -5,6 +5,7 @@ from org.woehlke.covid19.who.who_service import WhoService from org.woehlke.covid19.europe.europe_service import EuropeService who_service = WhoService(db) +europe_service = EuropeService(db) celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL']) celery.conf.update(app.config) @@ -22,12 +23,12 @@ def who_run_update_task(self, import_file=True): @celery.task(bind=True) -def who_update_short_task(self, import_file=True): +def who_update_short_task(self): self.update_state(state=states.STARTED) app.logger.info("------------------------------------------------------------") app.logger.info(" Received: who_update_short_task [OK] ") app.logger.info("------------------------------------------------------------") - who_service.run_update_short(import_file) + who_service.run_update_short() self.update_state(state=states.SUCCESS) result = "OK (who_update_short_task)" return result @@ -43,3 +44,14 @@ def alive_message_task(self): result = "OK" return result + +@celery.task(bind=True) +def europe_update_task(self): + self.update_state(state=states.STARTED) + app.logger.info("------------------------------------------------------------") + app.logger.info(" Received: europe_update_task [OK] ") + app.logger.info("------------------------------------------------------------") + europe_service.run_update() + self.update_state(state=states.SUCCESS) + result = "OK (europe_update_task)" + return result \ No newline at end of file -- GitLab