diff --git a/BACKLOG.md b/BACKLOG.md index b2579c7b1fcd418dffaa4b17bd3a93e72609d65a..8a922ba4f636facada3d7c5d8a57fb71ca70f9c6 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -125,6 +125,11 @@ ### 0.0.15 Release * ------------------------------------- +* Fixed #88 rename VaccinationImport to VaccinationImport +* Fixed #89 change tablename from vaccination_germany_timeline_import to vaccination_import +* Fixed #86 rename VaccinationData to VaccinationData +* Fixed #162 rename table vaccination_germany_timeline into vaccination_data +* ------------------------------------- * Fixed #170 implement url_vaccination_task_update_star_schema_initial in vaccination_views.py * Fixed #171 implement url_vaccination_task_update_starschema_incremental in vaccination_views.py * Fixed #172 implement url_vaccination_task_import_only in vaccination_views.py diff --git a/src/covid19/blueprints/admin/admin_views.py b/src/covid19/blueprints/admin/admin_views.py index 240186e64bb6470424e49d0f49e7952b020d2af5..ea72ffa4d5c9363946bd28c09c5c37266cf5698e 100644 --- a/src/covid19/blueprints/admin/admin_views.py +++ b/src/covid19/blueprints/admin/admin_views.py @@ -3,7 +3,7 @@ from celery import states from celery.utils.log import get_task_logger from database import app -from covid19.services import who_service, europe_service, vaccination_service, admin_service, rki_service +from covid19.services import who_service, europe_service, vaccination_service, admin_service, rki_service_bundeslaender from covid19.workers import celery from covid19.blueprints.common.common_model_transient import ApplicationPage @@ -109,7 +109,7 @@ def url_admin_database_drop(): who_service.pretask_database_drop_create() europe_service.pretask_database_drop_create() vaccination_service.pretask_database_drop_create() - rki_service.pretask_database_drop_create() + rki_service_bundeslaender.pretask_database_drop_create() flash("task_admin_database_drop_create async started") task_admin_database_drop_create.apply_async() app.logger.info("url_admin_database_drop [done]") diff --git a/src/covid19/blueprints/common/common_model.py b/src/covid19/blueprints/common/common_model.py index 44c6bc7d52aa6e437d45cac6bebe85eae49786fd..99a8dc7db9ad59eec0f841d27b321a51e1a2da45 100644 --- a/src/covid19/blueprints/common/common_model.py +++ b/src/covid19/blueprints/common/common_model.py @@ -95,9 +95,9 @@ class CommonDateReported(db.Model): .one() @classmethod - def find_by_date_reported(cls, i_date_reported): + def find_by_id(cls, other_id): return db.session.query(cls)\ - .filter(cls.date_reported == i_date_reported)\ + .filter(cls.id == other_id)\ .one_or_none() @classmethod @@ -107,9 +107,9 @@ class CommonDateReported(db.Model): .one() @classmethod - def find_by_year_week(cls, year_week): + def find_by_date_reported(cls, i_date_reported): return db.session.query(cls)\ - .filter(cls.year_week == year_week)\ + .filter(cls.date_reported == i_date_reported)\ .one_or_none() @classmethod @@ -118,6 +118,11 @@ class CommonDateReported(db.Model): .filter(cls.year_week == year_week)\ .one() + @classmethod + def find_by_year_week(cls, year_week): + return db.session.query(cls)\ + .filter(cls.year_week == year_week)\ + .one_or_none() class CommonRegion(db.Model): __tablename__ = 'common_region' @@ -161,6 +166,18 @@ class CommonRegion(db.Model): .filter(cls.id == other_id)\ .one() + @classmethod + def find_by_id(cls, other_id): + return db.session.query(cls)\ + .filter(cls.id == other_id)\ + .one_or_none() + + @classmethod + def get_by_region(cls, i_who_region): + return db.session.query(cls)\ + .filter(cls.region == i_who_region)\ + .one() + @classmethod def find_by_region(cls, i_who_region): return db.session.query(cls)\ diff --git a/src/covid19/blueprints/europe/europe_service.py b/src/covid19/blueprints/europe/europe_service.py index 8692f4e793372ddf778b083606187396edbaa7f4..bf1fc231e8721d58687ade183547339efd7ac3c2 100644 --- a/src/covid19/blueprints/europe/europe_service.py +++ b/src/covid19/blueprints/europe/europe_service.py @@ -37,33 +37,36 @@ class EuropeService: self.europe_service_import.import_datafile_to_db() return self + # TODO: #112 implement EuropeService.run_update_dimension_tables_only + # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_dimension_tables_only(self): - # TODO: #112 implement EuropeService.run_update_dimension_tables_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 return self + # TODO: #113 implement EuropeService.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): - # TODO: #113 implement EuropeService.run_update_fact_table_incremental_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 return self + + # TODO: #114 implement EuropeService.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): - # TODO: #114 implement EuropeService.run_update_fact_table_initial_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 return self + # TODO: #115 implement EuropeService.run_update_star_schema_incremental + # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_star_schema_incremental(self): - # TODO: #115 implement EuropeService.run_update_star_schema_incremental - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 return self + + # TODO: #116 implement EuropeService.run_update_star_schema_initial + # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_star_schema_initial(self): - # TODO: #116 implement EuropeService.run_update_star_schema_initial - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 return self + # TODO remove DEPRECATED # TODO: #111 refactor to new method scheme itroduced 07.02.2021 - def download(self): + def download_DEPRECATED(self): app.logger.info(" download [begin]") app.logger.info("------------------------------------------------------------") self.europe_service_download.download() @@ -71,8 +74,9 @@ class EuropeService: app.logger.info("------------------------------------------------------------") return self + # TODO remove DEPRECATED # TODO: #111 refactor to new method scheme itroduced 07.02.2021 - def run_update_initial(self): + def run_update_initial_DEPRECATED(self): app.logger.info(" run update [begin]") app.logger.info("------------------------------------------------------------") self.europe_service_import.import_datafile_to_db() @@ -81,8 +85,9 @@ class EuropeService: app.logger.info("------------------------------------------------------------") return self + # TODO remove DEPRECATED # TODO: #111 refactor to new method scheme itroduced 07.02.2021 - def run_update_short(self): + def run_update_short_DEPRECATED(self): app.logger.info(" run update short [begin]") app.logger.info("------------------------------------------------------------") self.europe_service_import.import_datafile_to_db() diff --git a/src/covid19/blueprints/europe/europe_views.py b/src/covid19/blueprints/europe/europe_views.py index bb8536563ee7a9007b4365a1129defccf8d8d3aa..1856163a47d18bb0d63fca4a74aa9ae5c201d508 100644 --- a/src/covid19/blueprints/europe/europe_views.py +++ b/src/covid19/blueprints/europe/europe_views.py @@ -21,8 +21,9 @@ app_europe = Blueprint('europe', __name__, template_folder='templates') ################################################################################################################## +# TODO remove DEPRECATED @celery.task(bind=True) -def task_europe_update_initial(self): +def task_europe_update_initial_DEPRECATED(self): logger = get_task_logger(__name__) self.update_state(state=states.STARTED) logger.info("------------------------------------------------------------") @@ -34,14 +35,15 @@ def task_europe_update_initial(self): return result +# TODO remove DEPRECATED @celery.task(bind=True) -def task_europe_update_short(self): +def task_europe_update_short_DEPRECATED(self): logger = get_task_logger(__name__) self.update_state(state=states.STARTED) logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_short [OK] ") logger.info("------------------------------------------------------------") - europe_service.run_update_short() + europe_service.run_update_short_DEPRECATED() self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_short)" return result @@ -54,7 +56,7 @@ def task_europe_download_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_download_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_download_only() # TODO + europe_service.task_download_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_download_only)" return result @@ -67,7 +69,7 @@ def task_europe_import_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_import_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_import_only() # TODO + europe_service.task_import_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_import_only)" return result @@ -80,7 +82,7 @@ def task_europe_update_dimension_tables_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_dimension_tables_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_dimension_tables_only() # TODO + europe_service.task_update_dimension_tables_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_dimension_tables_only)" return result @@ -93,7 +95,7 @@ def task_europe_update_fact_table_incremental_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_fact_table_incremental_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_fact_table_incremental_only() # TODO + europe_service.task_update_fact_table_incremental_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_fact_table_incremental_only)" return result @@ -106,7 +108,7 @@ def task_europe_update_fact_table_initial_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_fact_table_initial_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_fact_table_initial_only() # TODO + europe_service.task_update_fact_table_initial_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_fact_table_initial_only)" return result @@ -119,7 +121,7 @@ def task_europe_update_fact_table_initial_only(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_fact_table_initial_only [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_fact_table_initial_only() # TODO + europe_service.task_update_fact_table_initial_only() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_fact_table_initial_only)" return result @@ -132,7 +134,7 @@ def task_europe_update_star_schema_incremental(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_star_schema_incremental [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_star_schema_incremental() # TODO + europe_service.task_update_star_schema_incremental() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_star_schema_incremental)" return result @@ -145,7 +147,7 @@ def task_europe_update_star_schema_initial(self): logger.info("------------------------------------------------------------") logger.info(" Received: task_europe_update_star_schema_initial [OK] ") logger.info("------------------------------------------------------------") - europe_service.task_europe_update_star_schema_initial() # TODO + europe_service.task_update_star_schema_initial() # TODO self.update_state(state=states.SUCCESS) result = "OK (task_europe_update_star_schema_initial)" return result @@ -296,66 +298,68 @@ def url_europe_country_germany(page=1): page_info=page_info) +# TODO remove DEPRECATED @app_europe.route('/update/initial') -def url_europe_task_europe_update_data(): - europe_service.download() - task_europe_update_initial.apply_async() +def url_europe_task_update_data_DEPRECATED(): + europe_service.download_DEPRECATED() + task_europe_update_initial_DEPRECATED.apply_async() flash("task_europe_update_initial started") return redirect(url_for('url_europe_tasks')) +# TODO remove DEPRECATED @app_europe.route('/update/short') -def url_europe_task_europe_update_data_short(): - europe_service.download() - task_europe_update_short.apply_async() +def url_europe_task_update_data_short_DEPRECATED(): + europe_service.download_DEPRECATED() + task_europe_update_short_DEPRECATED.apply_async() flash("task_europe_update_short started") return redirect(url_for('url_europe_tasks')) +# TODO: #163 implement url_europe_task_update_star_schema_initial in europe_views.py @app_europe.route('/task/update/star_schema/initial') def url_europe_task_update_star_schema_initial(): flash("url_europe_task_update_star_schema_initial started") - # TODO: #163 implement url_europe_task_update_star_schema_initial in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #164 implement url_europe_task_update_starschema_incremental in europe_views.py @app_europe.route('/task/update/star_schema/incremental') def url_europe_task_update_starschema_incremental(): flash("url_europe_task_update_starschema_incremental started") - # TODO: #164 implement url_europe_task_update_starschema_incremental in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #165 implement url_europe_task_download_only in europe_views.py @app_europe.route('/task/download/only') def url_europe_task_download_only(): flash("url_europe_task_download_only started") - # TODO: #165 implement url_europe_task_download_only in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #166 implement url_europe_task_import_only in europe_views.py @app_europe.route('/task/import/only') def url_europe_task_import_only(): flash("url_europe_task_import_only started") - # TODO: #166 implement url_europe_task_import_only in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #167 implement url_europe_task_update_dimensiontables_only in europe_views.py @app_europe.route('/task/update/dimension-tables/only') def url_europe_task_update_dimensiontables_only(): flash("url_europe_task_update_dimensiontables_only started") - # TODO: #167 implement url_europe_task_update_dimensiontables_only in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #168 implement url_europe_task_update_facttable_incremental_only in europe_views.py @app_europe.route('/task/update/fact-table/incremental/only') def url_europe_task_update_facttable_incremental_only(): flash("url_europe_task_update_facttable_incremental_only started") - # TODO: #168 implement url_europe_task_update_facttable_incremental_only in europe_views.py return redirect(url_for('url_europe_tasks')) +# TODO: #169 implement url_europe_task_update_facttable_initial_only in europe_views.py @app_europe.route('/task/update/fact-table/initial/only') def url_europe_task_update_facttable_initial_only(): flash("url_europe_task_update_facttable_initial_only started") - # TODO: #169 implement url_europe_task_update_facttable_initial_only in europe_views.py return redirect(url_for('url_europe_tasks')) diff --git a/src/covid19/blueprints/rki/rki_service.py b/src/covid19/blueprints/rki/rki_service.py index 182fbda15e264b44a4f2a7b88a66fd6ef267a36f..8ad5c2da4688f93460f64baea8019a7654f087ee 100644 --- a/src/covid19/blueprints/rki/rki_service.py +++ b/src/covid19/blueprints/rki/rki_service.py @@ -22,7 +22,7 @@ class RkiBundeslaenderService: app.logger.info(" RKI Service [ready]") def pretask_database_drop_create(self): - flash("rki_service.run_download started") + flash("rki_service_bundeslaender.run_download started") self.service_download.download_file() return self @@ -127,7 +127,7 @@ class RkiLandkreiseService: app.logger.info(" RKI Service [ready]") def pretask_database_drop_create(self): - flash("rki_service.run_download started") + flash("rki_service_bundeslaender.run_download started") self.service_download.download_file() return self diff --git a/src/covid19/blueprints/vaccination/templates/vaccination/vaccination_timeline_germany.html b/src/covid19/blueprints/vaccination/templates/vaccination/vaccination_data.html similarity index 100% rename from src/covid19/blueprints/vaccination/templates/vaccination/vaccination_timeline_germany.html rename to src/covid19/blueprints/vaccination/templates/vaccination/vaccination_data.html diff --git a/src/covid19/blueprints/vaccination/templates/vaccination/vaccination_import.html b/src/covid19/blueprints/vaccination/templates/vaccination/vaccination_import.html new file mode 100644 index 0000000000000000000000000000000000000000..8d827f8b471e66397b7d23ce6e954d675d149d8c --- /dev/null +++ b/src/covid19/blueprints/vaccination/templates/vaccination/vaccination_import.html @@ -0,0 +1,62 @@ +{% extends 'common/page_layout.html' %} + +{% include 'common/fragment_pagination.html' %} + +{% block navigation_breadcrumb %} + +{% endblock %} + + +{% block navigation_navtabs %} + {% include 'vaccination/fragments/fragment_vaccination_navtabs.html' %} +{% endblock %} + + +{% block main_container_fluid %} + + {% if page_data.pages > 1 %} + <!-- previous page --> + <ul class="pagination"> + {% if page_data.has_prev %} + <li class="page-item"> + <a class="page-link" href="{{ url_for('vaccination.url_vaccination_timeline_germany', page=page_data.prev_num) }}">Previous</a> + </li> + {% endif %} + <!-- all page numbers --> + {% for page_num in page_data.iter_pages() %} + {% if page_num %} + {% if page_num != page_data.page %} + <li class="page-item"> + <a class="page-link" href="{{ url_for('vaccination.url_vaccination_timeline_germany', page=page_num) }}">{{ page_num }}</a> + </li> + {% else %} + <li class="page-item active"> + <a class="page-link" href="#">{{ page_num }}</a> + </li> + {% endif %} + {% else %} + <li class="page-item"> + <span class="ellipsis page-link my-page-item-ellipsis-page-link">…</span> + </li> + {% endif %} + {% endfor %} + <!-- next page --> + {% if page_data.has_next %} + <li class="page-item"> + <a class="page-link" href="{{ url_for('vaccination.url_vaccination_timeline_germany', page=page_data.next_num) }}">Next</a> + </li> + {% endif %} + </ul> + {% endif %} + + {% include 'vaccination/fragments/fragment_vaccination_timeline_germany_table.html' %} + +{% endblock %} + + +{% block footer_container %} + +{% endblock %} + + + diff --git a/src/covid19/blueprints/vaccination/vaccination_model.py b/src/covid19/blueprints/vaccination/vaccination_model.py index 9c9322d5a0e0bd92b56be94b0b09b453b81589a7..f1e40c070efe767a45e63229c2a0f06d4c75f95b 100644 --- a/src/covid19/blueprints/vaccination/vaccination_model.py +++ b/src/covid19/blueprints/vaccination/vaccination_model.py @@ -45,8 +45,6 @@ class VaccinationDateReported(CommonDateReported): ) -# TODO: #86 rename VaccinationData to VaccinationData -# TODO: #162 rename table vaccination_germany_timeline into vaccination_data class VaccinationData(db.Model): __tablename__ = 'vaccination_data' diff --git a/src/covid19/blueprints/vaccination/vaccination_model_import.py b/src/covid19/blueprints/vaccination/vaccination_model_import.py index d22bb3793ad1aa0bf901c5d08f986387361dc04b..26690727cc9a513c98b187d5c5b7b2ce2ef4714c 100644 --- a/src/covid19/blueprints/vaccination/vaccination_model_import.py +++ b/src/covid19/blueprints/vaccination/vaccination_model_import.py @@ -1,11 +1,6 @@ -from sqlalchemy.orm import defer -from sqlalchemy.orm import undefer - from database import db, ITEMS_PER_PAGE -# TODO: #88 rename VaccinationImport to VaccinationImport -# TODO: #89 change tablename from vaccination_germany_timeline_import to vaccination_import class VaccinationImport(db.Model): __tablename__ = 'vaccination_import' @@ -122,5 +117,4 @@ class VaccinationImport(db.Model): new_dates = [] for item, in db.session.execute(sql_query): new_dates.append(item) - #new_dates.append(item['date_reported']) return new_dates \ No newline at end of file diff --git a/src/covid19/blueprints/vaccination/vaccination_service.py b/src/covid19/blueprints/vaccination/vaccination_service.py index 2b032342e848f643c42c83ac0be0296e442c579a..72ce5b4ad18431569d764fc9c84b512407d12752 100644 --- a/src/covid19/blueprints/vaccination/vaccination_service.py +++ b/src/covid19/blueprints/vaccination/vaccination_service.py @@ -7,7 +7,6 @@ from covid19.blueprints.vaccination.vaccination_service_config import Vaccinatio from covid19.blueprints.vaccination.vaccination_service_update import VaccinationServiceUpdate -# TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 class VaccinationService: def __init__(self, database): app.logger.debug("------------------------------------------------------------") @@ -31,67 +30,51 @@ class VaccinationService: self.vaccination_service_udpate.update_star_schema_initial() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #91 implement VaccinationService.run_download_only def run_download_only(self): self.vaccination_service_download.download_file() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #92 implement VaccinationService.run_import_only def run_import_only(self): self.vaccination_service_import.import_file() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #93 implement VaccinationService.run_update_dimension_tables_only def run_update_dimension_tables_only(self): self.vaccination_service_udpate.update_dimension_tables_only() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #94 implement VaccinationService.run_update_fact_table_incremental_only def run_update_fact_table_incremental_only(self): self.vaccination_service_udpate.update_fact_table_incremental_only() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #95 implement VaccinationService.run_update_fact_table_initial_only def run_update_fact_table_initial_only(self): self.vaccination_service_udpate.update_fact_table_initial_only() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #96 implement VaccinationService.run_update_star_schema_incremental def run_update_star_schema_incremental(self): self.vaccination_service_udpate.update_star_schema_incremental() return self - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - # TODO: #97 implement VaccinationService.run_update_star_schema_initial def run_update_star_schema_initial(self): self.run_import_only() self.vaccination_service_udpate.update_star_schema_initial() return self # TODO remove DEPRECATED - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - def run_download_DEPRECATED(self): - app.logger.info(" run update [begin]") - app.logger.info("------------------------------------------------------------") - success = self.vaccination_service_download.download_file() - app.logger.info("") - app.logger.info(" run update [done]") - app.logger.info("------------------------------------------------------------") - return success + #def run_download_DEPRECATED(self): + # app.logger.info(" run update [begin]") + # app.logger.info("------------------------------------------------------------") + # success = self.vaccination_service_download.download_file() + # app.logger.info("") + # app.logger.info(" run update [done]") + # app.logger.info("------------------------------------------------------------") + # return success # TODO remove DEPRECATED - # TODO: #90 refactor VaccinationService to new method scheme introduced 07.02.2021 - def run_update_initial_DEPRECATED(self): - app.logger.info(" run update initial [begin]") - app.logger.info("------------------------------------------------------------") - self.vaccination_service_import.import_file() - app.logger.info("") - app.logger.info(" run update initial [done]") - app.logger.info("------------------------------------------------------------") - return self + #def run_update_initial_DEPRECATED(self): + # app.logger.info(" run update initial [begin]") + # app.logger.info("------------------------------------------------------------") + # self.vaccination_service_import.import_file() + # app.logger.info("") + # app.logger.info(" run update initial [done]") + # app.logger.info("------------------------------------------------------------") + # return self diff --git a/src/covid19/blueprints/vaccination/vaccination_service_download.py b/src/covid19/blueprints/vaccination/vaccination_service_download.py index 56aef73ad4eed91c9e058591cbf4bf360f266378..71cd8f10494daafc606f88db8cbfa53d8cd05097 100644 --- a/src/covid19/blueprints/vaccination/vaccination_service_download.py +++ b/src/covid19/blueprints/vaccination/vaccination_service_download.py @@ -5,7 +5,6 @@ from database import app from covid19.blueprints.vaccination.vaccination_service_config import VaccinationServiceConfig -# TODO: #98 refactor VaccinationServiceDownload to new method scheme introduced 07.02.2021 class VaccinationServiceDownload: def __init__(self, database): app.logger.debug("------------------------------------------------------------") diff --git a/src/covid19/blueprints/vaccination/vaccination_service_import.py b/src/covid19/blueprints/vaccination/vaccination_service_import.py index e246b061efd7b796631c9364c56a47f804e3ac53..2138c177e55ab77172a6efb2c9f4ed8a15d86f73 100644 --- a/src/covid19/blueprints/vaccination/vaccination_service_import.py +++ b/src/covid19/blueprints/vaccination/vaccination_service_import.py @@ -7,7 +7,6 @@ from covid19.blueprints.vaccination.vaccination_model_import import VaccinationI from covid19.blueprints.vaccination.vaccination_service_config import VaccinationServiceConfig -# TODO: #99 refactor VaccinationServiceImport to new method scheme introduced 07.02.2021 class VaccinationServiceImport: def __init__(self, database): app.logger.debug("------------------------------------------------------------") diff --git a/src/covid19/blueprints/vaccination/vaccination_service_update.py b/src/covid19/blueprints/vaccination/vaccination_service_update.py index 7403e3c5e6fe960a21f231bb5e04e701c1f8236f..c52ac751f9b812805462354c7841b028efe04bbe 100644 --- a/src/covid19/blueprints/vaccination/vaccination_service_update.py +++ b/src/covid19/blueprints/vaccination/vaccination_service_update.py @@ -5,7 +5,6 @@ from covid19.blueprints.vaccination.vaccination_model_import import VaccinationI from covid19.blueprints.vaccination.vaccination_model import VaccinationDateReported, VaccinationData -# TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 class VaccinationServiceUpdate: def __init__(self, database): app.logger.debug("------------------------------------------------------------") @@ -16,7 +15,6 @@ class VaccinationServiceUpdate: app.logger.debug("------------------------------------------------------------") app.logger.debug(" Europe Service Update [ready] ") - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def __update_date_reported(self): app.logger.info(" __update_date_reported [begin]") app.logger.info("------------------------------------------------------------") @@ -35,7 +33,6 @@ class VaccinationServiceUpdate: app.logger.info("------------------------------------------------------------") return self - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def __update_data_initial(self): app.logger.info(" __update_data_initial [begin]") app.logger.info("------------------------------------------------------------") @@ -134,73 +131,60 @@ class VaccinationServiceUpdate: return self # TODO: remove DEPRECATED - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 - def __update_data_short_DEPRECATED(self): - app.logger.info(" __update_data_initial [begin]") - app.logger.info("------------------------------------------------------------") - app.logger.info(" ... ") - app.logger.info(" __update_data_initial [done]") - app.logger.info("------------------------------------------------------------") - return self + #def __update_data_short_DEPRECATED(self): + # app.logger.info(" __update_data_initial [begin]") + # app.logger.info("------------------------------------------------------------") + # app.logger.info(" ... ") + # app.logger.info(" __update_data_initial [done]") + # app.logger.info("------------------------------------------------------------") + # return self # TODO: remove DEPRECATED - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 - def update_db_initial_DEPRECATED(self): - app.logger.info(" update_db_initial [begin]") - app.logger.info("------------------------------------------------------------") - VaccinationDateReported.remove_all() - VaccinationData.remove_all() - self.__update_date_reported() - self.__update_data_initial() - app.logger.info(" update_db_initial [done]") - app.logger.info("------------------------------------------------------------") - return self + #def update_db_initial_DEPRECATED(self): + # app.logger.info(" update_db_initial [begin]") + # app.logger.info("------------------------------------------------------------") + # VaccinationDateReported.remove_all() + # VaccinationData.remove_all() + # self.__update_date_reported() + # self.__update_data_initial() + # app.logger.info(" update_db_initial [done]") + # app.logger.info("------------------------------------------------------------") + # return self # TODO: remove DEPRECATED - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 - def update_db_short_DEPRECATED(self): - app.logger.info(" update_db_short [begin]") - app.logger.info("------------------------------------------------------------") - VaccinationDateReported.remove_all() - VaccinationData.remove_all() - self.__update_date_reported() - self.__update_data_short_DEPRECATED() - app.logger.info(" update_db_short [done]") - app.logger.info("------------------------------------------------------------") - return self + #def update_db_short_DEPRECATED(self): + # app.logger.info(" update_db_short [begin]") + # app.logger.info("------------------------------------------------------------") + # VaccinationDateReported.remove_all() + # VaccinationData.remove_all() + # self.__update_date_reported() + # self.__update_data_short_DEPRECATED() + # app.logger.info(" update_db_short [done]") + # app.logger.info("------------------------------------------------------------") + # return self # Delegate def __update_dimension_table_date_reported(self): self.__update_date_reported() return self - # TODO: #101 implement VaccinationServiceUpdate.update_dimension_tables_only - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021s def update_dimension_tables_only(self): self.__update_dimension_table_date_reported() return self - # TODO: #102 implement VaccinationServiceUpdate.update_fact_table_incremental_only - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def update_fact_table_incremental_only(self): self.__update_data_incremental() return self - # TODO: #103 implement VaccinationServiceUpdate.update_fact_table_initial_only - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def update_fact_table_initial_only(self): self.__update_data_initial() return self - # TODO: #104 implement VaccinationServiceUpdate.update_star_schema_incremental - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def update_star_schema_incremental(self): self.__update_dimension_table_date_reported() self.__update_data_incremental() return self - # TODO: #105 implement VaccinationServiceUpdate.update_star_schema_initial - # TODO: #100 refactor VaccinationServiceUpdate to new method scheme introduced 07.02.2021 def update_star_schema_initial(self): VaccinationData.remove_all() VaccinationDateReported.remove_all() diff --git a/src/covid19/blueprints/vaccination/vaccination_views.py b/src/covid19/blueprints/vaccination/vaccination_views.py index 16e20fb56b9125a3390616c90d9ce87f4325cdce..f5aa26c6d79f4474ccd77ce82e262c7fe36c0a2f 100644 --- a/src/covid19/blueprints/vaccination/vaccination_views.py +++ b/src/covid19/blueprints/vaccination/vaccination_views.py @@ -6,7 +6,7 @@ from database import app from covid19.services import vaccination_service from covid19.workers import celery -from covid19.blueprints.vaccination.vaccination_model import VaccinationData +from covid19.blueprints.vaccination.vaccination_model import VaccinationData, VaccinationDateReported from covid19.blueprints.vaccination.vaccination_model_import import VaccinationImport from covid19.blueprints.common.common_model_transient import ApplicationPage @@ -128,27 +128,25 @@ def url_vaccination_tasks(): page_info=page_info) -@app_vaccination.route('/tmp/timeline/germany/page/<int:page>') -@app_vaccination.route('/tmp/timeline/germany') -def url_vaccination_timeline_germany_tmp(page=1): - page_info = ApplicationPage('Vaccination', "Germany Timeline") +@app_vaccination.route('/imported/page/<int:page>') +@app_vaccination.route('/imported') +def url_vaccination_imported(page=1): + page_info = ApplicationPage('Vaccination', "Data: Germany Timeline imported") page_data = VaccinationImport.get_all_as_page(page) - #page_data_tmp = VaccinationData.get_all_as_page(page) return render_template( - 'vaccination/vaccination_timeline_germany.html', + 'vaccination/vaccination_imported.html', page_data=page_data, page_info=page_info) -@app_vaccination.route('/timeline/germany/page/<int:page>') -@app_vaccination.route('/timeline/germany') -def url_vaccination_timeline_germany(page=1): - page_info = ApplicationPage('Vaccination', "Germany Timeline") - #page_data = VaccinationImport.get_all_as_page(page) - page_data_tmp = VaccinationData.get_all_as_page(page) +@app_vaccination.route('/data/page/<int:page>') +@app_vaccination.route('/data') +def url_vaccination_data(page=1): + page_info = ApplicationPage('Vaccination', "Data: Germany Timeline") + page_data = VaccinationData.get_all_as_page(page) return render_template( - 'vaccination/vaccination_timeline_germany.html', - page_data=page_data_tmp, + 'vaccination/vaccination_data.html', + page_data=page_data, page_info=page_info) @@ -156,30 +154,26 @@ def url_vaccination_timeline_germany(page=1): @app_vaccination.route('/date-reported/all') def url_vaccination_datereported_all(page=1): page_info = ApplicationPage('Vaccination', "Germany Timeline") - #page_data = VaccinationImport.get_all_as_page(page) - page_data_tmp = VaccinationData.get_all_as_page(page) + page_data = VaccinationDateReported.get_all_as_page(page) return render_template( 'vaccination/vaccination_timeline_germany.html', - page_data=page_data_tmp, + page_data=page_data, page_info=page_info) -@app_vaccination.route('/date-reported/<int:vaccination_data_id>/page/<int:page>') -@app_vaccination.route('/date-reported/<int:vaccination_data_id>') -def url_vaccination_datereported_one(page=1, vaccination_data_id=0): +@app_vaccination.route('/date-reported/<int:vaccination_date_reported_id>/page/<int:page>') +@app_vaccination.route('/date-reported/<int:vaccination_date_reported_id>') +def url_vaccination_datereported_one(page=1, vaccination_date_reported_id=0): page_info = ApplicationPage('Vaccination', "Germany Timeline") - #page_data = VaccinationImport.get_all_as_page(page) - page_data_tmp = VaccinationData.get_all_as_page(page) + datereported = VaccinationDateReported.find_by_id(vaccination_date_reported_id) + page_data = VaccinationData.find_by_datum(page, datereported) return render_template( 'vaccination/vaccination_timeline_germany.html', - page_data=page_data_tmp, + datereported=datereported, + page_data=page_data, page_info=page_info) -# TODO: #106 add Tasks and URLs for starting Tasks to vaccination_views - - -# TODO: #172 implement url_vaccination_task_import_only in vaccination_views.py @app_vaccination.route('/task/download/only') def url_vaccination_task_download_only(): flash("url_vaccination_task_download_only started") @@ -187,7 +181,6 @@ def url_vaccination_task_download_only(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #173 implement url_vaccination_task_import_only in vaccination_views.py @app_vaccination.route('/task/import/only') def url_vaccination_task_import_only(): flash("url_vaccination_task_import_only started") @@ -195,7 +188,6 @@ def url_vaccination_task_import_only(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #174 implement url_vaccination_task_update_dimensiontables_only in vaccination_views.py @app_vaccination.route('/task/update/dimension-tables/only') def url_vaccination_task_update_dimensiontables_only(): flash("url_vaccination_task_update_dimensiontables_only started") @@ -203,7 +195,6 @@ def url_vaccination_task_update_dimensiontables_only(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #175 implement url_vaccination_task_update_facttable_incremental_only in vaccination_views.py @app_vaccination.route('/task/update/fact-table/incremental/only') def url_vaccination_task_update_facttable_incremental_only(): flash("url_vaccination_task_update_facttable_incremental_only started") @@ -211,7 +202,6 @@ def url_vaccination_task_update_facttable_incremental_only(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #176 implement url_vaccination_task_update_facttable_initial_only in vaccination_views.py @app_vaccination.route('/task/update/fact-table/initial/only') def url_vaccination_task_update_facttable_initial_only(): flash("url_vaccination_task_update_facttable_initial_only started") @@ -219,7 +209,6 @@ def url_vaccination_task_update_facttable_initial_only(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #170 implement url_vaccination_task_update_starschema_initial in vaccination_views.py @app_vaccination.route('/task/update/star_schema/initial') def url_vaccination_task_update_starschema_initial(): flash("url_vaccination_task_update_star_schemainitial started") @@ -228,7 +217,6 @@ def url_vaccination_task_update_starschema_initial(): return redirect(url_for('vaccination.url_vaccination_tasks')) -# TODO: #171 implement url_vaccination_task_update_starschema_incremental in vaccination_views.py @app_vaccination.route('/task/update/star_schema/incremental') def url_vaccination_task_update_starschema_incremental(): flash("url_vaccination_task_update_starschema_incremental started") diff --git a/src/covid19/services.py b/src/covid19/services.py index 9a31532d5d7fabaf8c70c4f25e7ad05153f46c52..c8877b039ee7537f702f59c67d9802993b55157a 100644 --- a/src/covid19/services.py +++ b/src/covid19/services.py @@ -14,7 +14,7 @@ from covid19.blueprints.admin.admin_service import AdminService common_service = CommonService(db) who_service = WhoService(db) europe_service = EuropeService(db) -rki_service = RkiBundeslaenderService(db) +rki_service_bundeslaender = RkiBundeslaenderService(db) vaccination_service = VaccinationService(db) admin_service = AdminService(db) db.create_all()