From 11f14044ad4c215460999b7e7423101ef0e008a8 Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Wed, 17 Feb 2021 18:41:52 +0100
Subject: [PATCH] ### 0.0.17 Release * Fixed #123 split RkiBundeslaenderService
 into two Services, one for bundeslaender and one for landkreise * Fixed #128
 add fields from csv to RkiLandkreiseImport * Fixed #139 refactor
 RkiBundeslaenderServiceDownload to new method scheme introduced 07.02.2021 *
 Fixed #140 move WhoImport to RKI in: rk_service_import.py * Fixed #125
 implement RkiLandkreise * Fixed #126 implement RkiBundeslaenderImport

### 0.0.18 Release
* Fixed #39 SQLalchemy instead of SQL: AllModelClasses.remove_all()
* Fixed #40 SQLalchemy instead of SQL: EcdcImport.get_date_rep()
* Fixed #41 SQLalchemy instead of SQL: EcdcImport.get_countries_of_continent()
* Fixed #107 SQLalchemy instead of SQL in: EcdcImport.get_countries_of_continent
* Fixed #109 SQLalchemy instead of SQL in: EcdcImport.get_date_rep
* Fixed #110 SQLalchemy instead of SQL in: EcdcImport.get_continent
---
 src/covid19/blueprints/admin/admin_views.py   | 41 +++++++++++++------
 src/covid19/blueprints/ecdc/ecdc_service.py   | 24 ++++-------
 .../blueprints/ecdc/ecdc_service_import.py    |  2 +-
 .../rki_bundeslaender/rki_service.py          |  5 ++-
 .../blueprints/rki_landkreise/rki_service.py  |  3 ++
 .../rki_vaccination_service.py                |  6 ++-
 src/covid19/blueprints/who/who_service.py     |  4 ++
 7 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/src/covid19/blueprints/admin/admin_views.py b/src/covid19/blueprints/admin/admin_views.py
index b5188c88..258d88f5 100644
--- a/src/covid19/blueprints/admin/admin_views.py
+++ b/src/covid19/blueprints/admin/admin_views.py
@@ -26,7 +26,7 @@ def task_admin_alive_message(self):
     logger = get_task_logger(__name__)
     self.update_state(state=states.STARTED)
     logger.info("------------------------------------------------------------")
-    logger.info(" Received: task_admin_alive_message [OK] ")
+    logger.info(" task_admin_alive_message [received] ")
     logger.info("------------------------------------------------------------")
     self.update_state(state=states.SUCCESS)
     result = "OK (task_admin_alive_message)"
@@ -38,17 +38,38 @@ def task_admin_database_drop_create(self):
     logger = get_task_logger(__name__)
     self.update_state(state=states.STARTED)
     logger.info("------------------------------------------------------------")
-    logger.info(" Received: task_admin_database_drop_create [OK] ")
+    logger.info(" task_admin_database_drop_create [start] ")
     logger.info("------------------------------------------------------------")
     who_service.task_database_drop_create()
     ecdc_service.task_database_drop_create()
     rki_vaccination_service.task_database_drop_create()
     admin_service.task_database_drop_create()
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_database_drop_create [done] ")
+    logger.info("------------------------------------------------------------")
     self.update_state(state=states.SUCCESS)
     result = "OK (task_admin_database_drop_create)"
     return result
 
 
+@celery.task(bind=True)
+def task_admin_import_all_files(self):
+    logger = get_task_logger(__name__)
+    self.update_state(state=states.STARTED)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_import_all_files [start] ")
+    logger.info("------------------------------------------------------------")
+    who_service.task_import_all_files()
+    ecdc_service.task_import_all_files()
+    rki_vaccination_service.task_import_all_files()
+    self.update_state(state=states.SUCCESS)
+    logger.info("------------------------------------------------------------")
+    logger.info(" task_admin_import_all_files [done] ")
+    logger.info("------------------------------------------------------------")
+    result = "OK (task_admin_import_all_files)"
+    return result
+
+
 @app_admin.route('/')
 def url_admin_index():
     page_info = ApplicationPage('Admin', "Covid19 Admin")
@@ -143,15 +164,9 @@ def url_admin_download_all_files():
 
 @app_admin.route('/import/all')
 def url_admin_import_all_files():
-    who_service.download_all_files()
-    flash("who_service.download_all_files Done")
-    ecdc_service.download_all_files()
-    flash("who_service.download_all_files Done")
-    rki_vaccination_service.download_all_files()
-    flash("who_service.download_all_files Done")
-    rki_service_bundeslaender.download_all_files()
-    flash("who_service.download_all_files Done")
-    rki_service_landkreise.download_all_files()
-    flash("who_service.download_all_files Done")
-    app.logger.info("url_admin_download_all_files [done]")
+    app.logger.info("url_admin_import_all_files [start]")
+    flash("task_admin_import_all_files async started")
+    task_admin_import_all_files.apply_async()
+    app.logger.info("task_admin_import_all_files async started")
+    app.logger.info("url_admin_import_all_files [done]")
     return redirect(url_for('app_admin.url_admin_tasks'))
diff --git a/src/covid19/blueprints/ecdc/ecdc_service.py b/src/covid19/blueprints/ecdc/ecdc_service.py
index 90d0f636..3b422506 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service.py
@@ -24,7 +24,7 @@ class EcdcService:
         return self
 
     def task_database_drop_create(self):
-        self.service_import.import_datafile_to_db()
+        self.service_import.import_file()
         self.service_update.update_db_short()
         return self
 
@@ -33,41 +33,35 @@ class EcdcService:
         return self
 
     def run_import_only(self):
-        self.service_import.import_datafile_to_db()
+        self.service_import.import_file()
         return self
 
-    # TODO: #112 implement EcdcService.run_update_dimension_tables_only
-    # TODO: #111 refactor to new method scheme itroduced 07.02.2021
     def run_update_dimension_tables_only(self):
         self.service_update.update_dimension_tables_only()
         return self
 
-    # TODO: #113 implement EcdcService.run_update_fact_table_incremental_only
-    # TODO: #111 refactor to new method scheme itroduced 07.02.2021
     def run_update_fact_table_incremental_only(self):
         self.service_update.update_fact_table_incremental_only()
         return self
 
-    # TODO: #114 implement EcdcService.run_update_fact_table_initial_only
-    # TODO: #111 refactor to new method scheme itroduced 07.02.2021
     def run_update_fact_table_initial_only(self):
         self.service_update.update_fact_table_initial_only()
         return self
 
-    # TODO: #115 implement EcdcService.run_update_star_schema_incremental
-    # TODO: #111 refactor to new method scheme itroduced 07.02.2021
     def run_update_star_schema_incremental(self):
-        self.service_import.import_datafile_to_db()
+        self.service_import.import_file()
         self.service_update.update_star_schema_incremental()
         return self
 
-    # TODO: #116 implement EcdcService.run_update_star_schema_initial
-    # TODO: #111 refactor to new method scheme itroduced 07.02.2021
     def run_update_star_schema_initial(self):
-        self.service_import.import_datafile_to_db()
+        self.service_import.import_file()
         self.service_update.update_star_schema_initial()
         return self
 
     def download_all_files(self):
         self.service_download.download_file()
-        return self
\ No newline at end of file
+        return self
+
+    def task_import_all_files(self):
+        self.service_import.import_file()
+        return self
diff --git a/src/covid19/blueprints/ecdc/ecdc_service_import.py b/src/covid19/blueprints/ecdc/ecdc_service_import.py
index c07f06dd..0f354c5b 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service_import.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service_import.py
@@ -17,7 +17,7 @@ class EcdcServiceImport:
         app.logger.debug("------------------------------------------------------------")
         app.logger.debug(" ECDC Service Import [ready] ")
 
-    def import_datafile_to_db(self):
+    def import_file(self):
         src_cvsfile_name = self.cfg.data_path+os.sep+self.cfg.cvsfile_name
         app.logger.info(" import ECDC [begin]")
         app.logger.info("------------------------------------------------------------")
diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_service.py b/src/covid19/blueprints/rki_bundeslaender/rki_service.py
index 3a7b9e9f..b441534f 100644
--- a/src/covid19/blueprints/rki_bundeslaender/rki_service.py
+++ b/src/covid19/blueprints/rki_bundeslaender/rki_service.py
@@ -111,4 +111,7 @@ class RkiBundeslaenderService:
 
     def download_all_files(self):
         self.service_download.download_file()
-        return self
\ No newline at end of file
+        return self
+
+    def task_import_all_files(self):
+        return self
diff --git a/src/covid19/blueprints/rki_landkreise/rki_service.py b/src/covid19/blueprints/rki_landkreise/rki_service.py
index 4a1558be..225a5d6f 100644
--- a/src/covid19/blueprints/rki_landkreise/rki_service.py
+++ b/src/covid19/blueprints/rki_landkreise/rki_service.py
@@ -112,3 +112,6 @@ class RkiLandkreiseService:
         self.service_download.download_file()
         return self
 
+    def task_import_all_files(self):
+        return self
+
diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py
index d0f28f43..5d387662 100644
--- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py
+++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py
@@ -61,4 +61,8 @@ class RkiVaccinationService:
 
     def download_all_files(self):
         self.service_download.download_file()
-        return self
\ No newline at end of file
+        return self
+
+    def task_import_all_files(self):
+        self.service_import.import_file()
+        return self
diff --git a/src/covid19/blueprints/who/who_service.py b/src/covid19/blueprints/who/who_service.py
index a43381d8..45d931d5 100644
--- a/src/covid19/blueprints/who/who_service.py
+++ b/src/covid19/blueprints/who/who_service.py
@@ -106,3 +106,7 @@ class WhoService:
         self.service_download.download_file()
         return self
 
+    def task_import_all_files(self):
+        self.service_import.import_file()
+        return self
+
-- 
GitLab