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