From ea41bce71c11a56acaba19b23f94c313f9b6b6b8 Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Sat, 20 Feb 2021 16:18:27 +0100
Subject: [PATCH] ### 0.0.18 Release

---
 src/covid19/blueprints/owid/owid_views.py | 324 +++++++++++-----------
 1 file changed, 167 insertions(+), 157 deletions(-)

diff --git a/src/covid19/blueprints/owid/owid_views.py b/src/covid19/blueprints/owid/owid_views.py
index d0b5ac89..97f2b421 100644
--- a/src/covid19/blueprints/owid/owid_views.py
+++ b/src/covid19/blueprints/owid/owid_views.py
@@ -18,12 +18,6 @@ admin.add_view(ModelView(OwidImport, db.session, category="OWID"))
 admin.add_view(ModelView(OwidDateReported, db.session, category="OWID"))
 admin.add_view(ModelView(OwidData, db.session, category="OWID"))
 
-##################################################################################################################
-#
-# OWID
-#
-##################################################################################################################
-
 # def task_owid_download_only(self):
 # def task_owid_import_only(self):
 # def task_owid_update_dimension_tables_only(self):
@@ -33,6 +27,166 @@ admin.add_view(ModelView(OwidData, db.session, category="OWID"))
 # def task_owid_update_star_schema_incremental(self):
 # def task_owid_update_star_schema_initial(self):
 
+# ---------------------------------------------------------------------------------------------------------------
+#  Url Routes Frontend
+# ---------------------------------------------------------------------------------------------------------------
+
+
+@app_owid.route('/info')
+def url_owid_info():
+    page_info = ApplicationPage('OWID',"Info")
+    return render_template(
+        'owid/owid_info.html',
+        page_info=page_info)
+
+
+@app_owid.route('/tasks')
+def url_owid_tasks():
+    page_info = ApplicationPage('OWID',"Tasks")
+    return render_template(
+        'owid/owid_tasks.html',
+        page_info=page_info)
+
+
+@app_owid.route('/imported/page/<int:page>')
+@app_owid.route('/imported')
+def url_owid_imported(page=1):
+    page_info = ApplicationPage('OWID',"Last Import")
+    try:
+        page_data = OwidImport.get_all_as_page(page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/owid_imported.html',
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/all/page/<int:page>')
+@app_owid.route('/date_reported/all')
+def url_owid_date_reported_all(page: int = 1):
+    page_info = ApplicationPage('OWID',"Date Reported", "All")
+    try:
+        page_data = OwidDateReported.get_all_as_page(page)
+    except OperationalError:
+        flash("No regions in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_all.html',
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/<int:date_reported_id>/page/<int:page>')
+@app_owid.route('/date_reported/<int:date_reported_id>')
+def url_owid_date_reported(date_reported_id: int, page: int = 1):
+    date_reported = OwidDateReported.get_by_id(date_reported_id)
+    page_info = ApplicationPage(
+        "Date Reported: " + date_reported.date_reported,
+        'WHO',
+        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
+    )
+    try:
+        page_data = OwidData.get_data_for_day(date_reported, page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_one.html',
+        owid_date_reported=date_reported,
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/<int:date_reported_id>/cases_new/page/<int:page>')
+@app_owid.route('/date_reported/<int:date_reported_id>/cases_new')
+def url_owid_date_reported_cases_new(date_reported_id: int, page: int = 1):
+    date_reported = OwidDateReported.get_by_id(date_reported_id)
+    page_info = ApplicationPage(
+        "Date Reported: " + date_reported.date_reported,
+        'WHO',
+        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
+    )
+    try:
+        page_data = OwidData.get_data_for_day_order_by_cases_new(date_reported, page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_one_cases_new.html',
+        owid_date_reported=date_reported,
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/<int:date_reported_id>/cases_cumulative/page/<int:page>')
+@app_owid.route('/date_reported/<int:date_reported_id>/cases_cumulative')
+def url_owid_date_reported_cases_cumulative(date_reported_id: int, page: int = 1):
+    date_reported = OwidDateReported.get_by_id(date_reported_id)
+    page_info = ApplicationPage(
+        "Date Reported: " + date_reported.date_reported,
+        'WHO',
+        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
+    )
+    try:
+        page_data = OwidData.get_data_for_day_order_by_cases_cumulative(date_reported, page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_one_cases_cumulative.html',
+        owid_date_reported=date_reported,
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/<int:date_reported_id>/deaths_new/page/<int:page>')
+@app_owid.route('/date_reported/<int:date_reported_id>/deaths_new')
+def url_owid_date_reported_deaths_new(date_reported_id: int, page: int = 1):
+    date_reported = OwidDateReported.get_by_id(date_reported_id)
+    page_info = ApplicationPage(
+        "Date Reported: " + date_reported.date_reported,
+        'WHO',
+        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
+    )
+    try:
+        page_data = OwidData.get_data_for_day_order_by_deaths_new(date_reported, page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_one_deaths_new.html',
+        owid_date_reported=date_reported,
+        page_data=page_data,
+        page_info=page_info)
+
+
+@app_owid.route('/date_reported/<int:date_reported_id>/deaths_cumulative/page/<int:page>')
+@app_owid.route('/date_reported/<int:date_reported_id>/deaths_cumulative')
+def url_owid_date_reported_deaths_cumulative(date_reported_id: int, page: int = 1):
+    date_reported = OwidDateReported.get_by_id(date_reported_id)
+    page_info = ApplicationPage(
+        "Date Reported: " + date_reported.date_reported,
+        'WHO',
+        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
+    )
+    try:
+        page_data = OwidData.get_data_for_day_order_by_deaths_cumulative(date_reported, page)
+    except OperationalError:
+        flash("No data in the database.")
+        page_data = None
+    return render_template(
+        'owid/date_reported/owid_date_reported_one_deaths_cumulative.html',
+        owid_date_reported=date_reported,
+        page_data=page_data,
+        page_info=page_info)
+
+
+# ----------------------------------------------------------------------------------------------------------------
+#  Celery TASKS
+# ----------------------------------------------------------------------------------------------------------------
+
 
 @celery.task(bind=True)
 def task_owid_download_only(self):
@@ -125,6 +279,11 @@ def task_owid_update_star_schema_initial(self):
     return result
 
 
+# ----------------------------------------------------------------------------------------------------------------
+#  URL Routes for Celery TASKS
+# ----------------------------------------------------------------------------------------------------------------
+
+
 @app_owid.route('/task/download/only')
 def url_task_owid_download_only():
     app.logger.info("url_owid_task_download_only [start]")
@@ -178,6 +337,8 @@ def url_task_owid_update_fact_table_initial_only():
 def url_task_owid_update_star_schema_initial():
     app.logger.info("url_owid_task_update_full [start]")
     owid_service.run_download_only()
+    flash("owid_service.service_download.download_file ok")
+    task_owid_update_star_schema_initial.apply_async()
     flash(message="long running background task started", category="warning")
     app.logger.info("url_owid_task_update_full [done]")
     return redirect(url_for('owid.url_owid_tasks'))
@@ -193,154 +354,3 @@ def url_task_owid_update_star_schema_incremental():
     flash(message="long running background task started", category="warning")
     app.logger.info("url_task_owid_update_star_schema_incremental [done]")
     return redirect(url_for('owid.url_owid_tasks'))
-
-
-@app_owid.route('/info')
-def url_owid_info():
-    page_info = ApplicationPage('OWID',"Info")
-    return render_template(
-        'owid/owid_info.html',
-        page_info=page_info)
-
-
-@app_owid.route('/tasks')
-def url_owid_tasks():
-    page_info = ApplicationPage('OWID',"Tasks")
-    return render_template(
-        'owid/owid_tasks.html',
-        page_info=page_info)
-
-
-@app_owid.route('/imported/page/<int:page>')
-@app_owid.route('/imported')
-def url_owid_imported(page=1):
-    page_info = ApplicationPage('OWID',"Last Import")
-    try:
-        page_data = OwidImport.get_all_as_page(page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/owid_imported.html',
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/all/page/<int:page>')
-@app_owid.route('/date_reported/all')
-def url_owid_date_reported_all(page: int = 1):
-    page_info = ApplicationPage('OWID',"Date Reported", "All")
-    try:
-        page_data = OwidDateReported.get_all_as_page(page)
-    except OperationalError:
-        flash("No regions in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_all.html',
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/<int:date_reported_id>/page/<int:page>')
-@app_owid.route('/date_reported/<int:date_reported_id>')
-def url_owid_date_reported(date_reported_id: int, page: int = 1):
-    date_reported = OwidDateReported.get_by_id(date_reported_id)
-    page_info = ApplicationPage(
-        "Date Reported: " + date_reported.date_reported,
-        'WHO',
-        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
-    )
-    try:
-        page_data = OwidData.get_data_for_day(date_reported, page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_one.html',
-        owid_date_reported=date_reported,
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/<int:date_reported_id>/cases_new/page/<int:page>')
-@app_owid.route('/date_reported/<int:date_reported_id>/cases_new')
-def url_owid_date_reported_cases_new(date_reported_id: int, page: int = 1):
-    date_reported = OwidDateReported.get_by_id(date_reported_id)
-    page_info = ApplicationPage(
-        "Date Reported: " + date_reported.date_reported,
-        'WHO',
-        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
-    )
-    try:
-        page_data = OwidData.get_data_for_day_order_by_cases_new(date_reported, page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_one_cases_new.html',
-        owid_date_reported=date_reported,
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/<int:date_reported_id>/cases_cumulative/page/<int:page>')
-@app_owid.route('/date_reported/<int:date_reported_id>/cases_cumulative')
-def url_owid_date_reported_cases_cumulative(date_reported_id: int, page: int = 1):
-    date_reported = OwidDateReported.get_by_id(date_reported_id)
-    page_info = ApplicationPage(
-        "Date Reported: " + date_reported.date_reported,
-        'WHO',
-        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
-    )
-    try:
-        page_data = OwidData.get_data_for_day_order_by_cases_cumulative(date_reported, page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_one_cases_cumulative.html',
-        owid_date_reported=date_reported,
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/<int:date_reported_id>/deaths_new/page/<int:page>')
-@app_owid.route('/date_reported/<int:date_reported_id>/deaths_new')
-def url_owid_date_reported_deaths_new(date_reported_id: int, page: int = 1):
-    date_reported = OwidDateReported.get_by_id(date_reported_id)
-    page_info = ApplicationPage(
-        "Date Reported: " + date_reported.date_reported,
-        'WHO',
-        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
-    )
-    try:
-        page_data = OwidData.get_data_for_day_order_by_deaths_new(date_reported, page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_one_deaths_new.html',
-        owid_date_reported=date_reported,
-        page_data=page_data,
-        page_info=page_info)
-
-
-@app_owid.route('/date_reported/<int:date_reported_id>/deaths_cumulative/page/<int:page>')
-@app_owid.route('/date_reported/<int:date_reported_id>/deaths_cumulative')
-def url_owid_date_reported_deaths_cumulative(date_reported_id: int, page: int = 1):
-    date_reported = OwidDateReported.get_by_id(date_reported_id)
-    page_info = ApplicationPage(
-        "Date Reported: " + date_reported.date_reported,
-        'WHO',
-        "data of all reported countries for WHO date reported " + date_reported.date_reported + " "
-    )
-    try:
-        page_data = OwidData.get_data_for_day_order_by_deaths_cumulative(date_reported, page)
-    except OperationalError:
-        flash("No data in the database.")
-        page_data = None
-    return render_template(
-        'owid/date_reported/owid_date_reported_one_deaths_cumulative.html',
-        owid_date_reported=date_reported,
-        page_data=page_data,
-        page_info=page_info)
-- 
GitLab