From aa2e1889b981e247dc33bfe82085cc18ee986003 Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Sun, 25 Apr 2021 21:45:41 +0200
Subject: [PATCH] working on 0.0.31 Release *
 ------------------------------------- * Fixed #211 ECDC-templates: change URL
 to for_url() * Fixed #213 WHO-template: change URL to for_url() *
 ------------------------------------- * Issue #195
 RkiVaccinationImport.get_daterep_missing_in_vaccination_data(): native SQL to
 SQLalechemy Query * Fixed #83  WhoImport.get_new_dates_as_array() SQLalchemy
 instead of SQL * Fixed #219 WhoImport.countries() SQLalchemy instead of SQL *
 ------------------------------------- * Issue #207 remove deprecated:
 database.port * Issue #208 remove deprecated: database.run_run_with_debug *
 Issue #209 remove deprecated: database.ITEMS_PER_PAGE *
 ------------------------------------- * Issue #210 database.py: logging for
 Celery on Windows * ------------------------------------- * Fixed #196
 OwidImport.get_new_dates_reported_as_array() needs implementation *
 ------------------------------------- * Issue #212 implement
 OwidService.task_database_drop_create() *
 ------------------------------------- * Issue #214 implement
 OwidServiceUpdate.update_dimension_tables_only() * Issue #215 implement
 OwidServiceUpdate.update_fact_table_incremental_only() * Issue #216 implement
 OwidServiceUpdate.update_fact_table_initial_only() * Issue #217 implement
 OwidServiceUpdate.update_star_schema_incremental() * Issue #218 implement
 OwidServiceUpdate.update_star_schema_initial() *
 -------------------------------------

---
 src/covid19/blueprints/owid/owid_model.py     |  5 ----
 .../blueprints/owid/owid_model_import.py      |  9 ++++++
 .../blueprints/owid/owid_service_update.py    |  2 ++
 .../blueprints/owid_test/owid_test_service.py |  2 +-
 .../blueprints/owid_test/owid_test_views.py   | 29 ++++++++++++-------
 5 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/src/covid19/blueprints/owid/owid_model.py b/src/covid19/blueprints/owid/owid_model.py
index f7c3c8d7..605f24d5 100644
--- a/src/covid19/blueprints/owid/owid_model.py
+++ b/src/covid19/blueprints/owid/owid_model.py
@@ -43,11 +43,6 @@ class OwidDateReported(ApplicationDateReported):
             year_week=my_year_week
         )
 
-    @classmethod
-    def find_by_date_reported(cls, joungest_datum_str):
-        # TODO
-        pass
-
 
 class OwidContinent(ApplicationRegion):
     __tablename__ = 'owid_country_continent'
diff --git a/src/covid19/blueprints/owid/owid_model_import.py b/src/covid19/blueprints/owid/owid_model_import.py
index 332aef1d..b1cbc52d 100644
--- a/src/covid19/blueprints/owid/owid_model_import.py
+++ b/src/covid19/blueprints/owid/owid_model_import.py
@@ -1,3 +1,7 @@
+from sqlalchemy.orm import Load
+from sqlalchemy import func
+from sqlalchemy.orm import Bundle
+from sqlalchemy.orm.strategy_options import load_only
 from database import db, ITEMS_PER_PAGE
 
 
@@ -131,3 +135,8 @@ class OwidImport(db.Model):
             .distinct()\
             .order_by(cls.continent.asc())\
             .paginate(page, per_page=ITEMS_PER_PAGE)
+
+    @classmethod
+    def countries(cls):
+        bu = Bundle('countries', cls.iso_code, cls.location, cls.continent)
+        return db.session.query(bu).distinct()
diff --git a/src/covid19/blueprints/owid/owid_service_update.py b/src/covid19/blueprints/owid/owid_service_update.py
index 88915cbf..2848fd3d 100644
--- a/src/covid19/blueprints/owid/owid_service_update.py
+++ b/src/covid19/blueprints/owid/owid_service_update.py
@@ -17,6 +17,8 @@ class OwidServiceUpdate:
     def __update_date_reported(self):
         app.logger.info(" __update_date_reported [begin]")
         app.logger.info("------------------------------------------------------------")
+        OwidData.remove_all()
+        OwidDateReported.remove_all()
         i = 0
         for i_date_reported, in OwidImport.get_dates():
             i += 1
diff --git a/src/covid19/blueprints/owid_test/owid_test_service.py b/src/covid19/blueprints/owid_test/owid_test_service.py
index 294c8c9e..4f9b847b 100644
--- a/src/covid19/blueprints/owid_test/owid_test_service.py
+++ b/src/covid19/blueprints/owid_test/owid_test_service.py
@@ -43,7 +43,7 @@ class OwidTestService:
         app.logger.debug("------------------------------------------------------------")
         app.logger.debug(" OwidTestService.run_update_star_schema_incremental() [START]")
         app.logger.debug("------------------------------------------------------------")
-        app.logger.debug("")
+        app.logger.debug(" TODO....")
         app.logger.debug("------------------------------------------------------------")
         app.logger.debug(" OwidTestService.run_update_star_schema_incremental() [DONE]")
         app.logger.debug("------------------------------------------------------------")
diff --git a/src/covid19/blueprints/owid_test/owid_test_views.py b/src/covid19/blueprints/owid_test/owid_test_views.py
index c1aa98f3..6e4b4e4a 100644
--- a/src/covid19/blueprints/owid_test/owid_test_views.py
+++ b/src/covid19/blueprints/owid_test/owid_test_views.py
@@ -51,14 +51,14 @@ def url_owid_test_update_fact_table_initial_only():
     flash("update_fact_table_initial_only - START")
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
-@app_owid_test.route('/update_star_schema_incremental')
+@app_owid_test.route('/update_star_schema/incremental')
 @login_required
 def url_owid_test_update_star_schema_incremental():
     app.logger.info("update_star_schema_incremental - START")
     flash("update_star_schema_incremental - START")
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/update_star_schema/initial')
 @login_required
 def url_owid_test_update_star_schema_initial():
     app.logger.info("update_star_schema_initial - START")
@@ -66,15 +66,22 @@ def url_owid_test_update_star_schema_initial():
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_import/countries')
 @login_required
 def url_owid_test_owid_import_countries():
-    app.logger.info("update_star_schema_initial - START")
-    flash("update_star_schema_initial - START")
+    app.logger.info("url_owid_test_owid_import_countries - START")
+    flash("url_owid_test_owid_import_countries - START")
+    i = 0
+    for c in OwidImport.countries():
+        i += 1
+        line = " | " + str(i) + " | " + c.countries.iso_code + " | " + c.countries.location + " | " + c.countries.continent + " | "
+        app.logger.info(line)
+    app.logger.info("url_owid_test_owid_import_countries - DONE")
+    flash("url_owid_test_owid_import_countries - DONE")
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_import/get_new_dates_as_array')
 @login_required
 def url_owid_test_owid_import_get_new_dates_as_array():
     app.logger.info("update_star_schema_initial - START")
@@ -82,7 +89,7 @@ def url_owid_test_owid_import_get_new_dates_as_array():
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_data/get_datum_of_all_owid_data')
 @login_required
 def url_owid_test_owid_data_get_datum_of_all_owid_data():
     app.logger.info("update_star_schema_initial - START")
@@ -90,7 +97,7 @@ def url_owid_test_owid_data_get_datum_of_all_owid_data():
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_data/update_star_schema_initial')
 @login_required
 def url_owid_test_owid_data_get_datum_of_all_owid_import():
     app.logger.info("update_star_schema_initial - START")
@@ -98,7 +105,7 @@ def url_owid_test_owid_data_get_datum_of_all_owid_import():
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_service/owid_import/get_new_dates_as_array')
 @login_required
 def url_owid_test_owid_service_owid_import_get_new_dates_as_array():
     app.logger.info("update_star_schema_initial - START")
@@ -106,7 +113,7 @@ def url_owid_test_owid_service_owid_import_get_new_dates_as_array():
     return redirect(url_for('owid_test.url_owid_test_tests'))
 
 
-@app_owid_test.route('/update_star_schema_initial')
+@app_owid_test.route('/owid_test_service/delete_last_days_data')
 @login_required
 def url_owid_test_owid_test_service_delete_last_days_data():
     app.logger.info("update_star_schema_initial - START")
@@ -136,7 +143,7 @@ def task_owid_test_update_star_schema_incremental(self):
 #  URL Routes for Celery TASKS
 # ----------------------------------------------------------------------------------------------------------------
 
-@app_owid_test.route('/task/update_star_schema_incremental')
+@app_owid_test.route('/task/owid_test/update_star_schema_incremental')
 @login_required
 def url_task_owid_test_update_star_schema_incremental():
     app.logger.info("url_task_owid_test_update_star_schema_incremental - START: task_owid_test_update_star_schema_incremental()")
-- 
GitLab