diff --git a/src/covid19/blueprints/application/application_model.py b/src/covid19/blueprints/application/application_model.py index 2bc6fdf51342048e537e8e9feefe4eb14e20fbb0..12c7817e3fa65ab0aebdce7ab76fc9f94ce762c6 100644 --- a/src/covid19/blueprints/application/application_model.py +++ b/src/covid19/blueprints/application/application_model.py @@ -183,7 +183,7 @@ class ApplicationRegion(db.Model): return db.session.query(cls).all() @classmethod - def get_all_as_page(cls, page): + def get_all_as_page(cls, page: int): return db.session.query(cls)\ .order_by(cls.region)\ .paginate(page, per_page=ITEMS_PER_PAGE) @@ -196,25 +196,25 @@ class ApplicationRegion(db.Model): return regions @classmethod - def get_by_id(cls, other_id): + def get_by_id(cls, other_id: int): return db.session.query(cls)\ .filter(cls.id == other_id)\ .one() @classmethod - def find_by_id(cls, other_id): + def find_by_id(cls, other_id: int): return db.session.query(cls)\ .filter(cls.id == other_id)\ .one_or_none() @classmethod - def get_by_region(cls, i_region): + def get_by_region(cls, i_region: str): return db.session.query(cls)\ .filter(cls.region == i_region)\ .one() @classmethod - def find_by_region(cls, i_region): + def find_by_region(cls, i_region: str): return db.session.query(cls)\ .filter(cls.region == i_region)\ .one_or_none() @@ -240,7 +240,7 @@ class RkiDateReported(ApplicationDateReported): week_of_year = db.Column(db.Integer, nullable=False) @classmethod - def create_new_object_factory(cls, my_date_rep): + def create_new_object_factory(cls, my_date_rep: str): my_datum = date.fromisoformat(my_date_rep) (my_iso_year, week_number, weekday) = my_datum.isocalendar() my_year_week = "" + str(my_iso_year) @@ -292,12 +292,16 @@ class RkiCountry(db.Model): return None @classmethod - def get_all_as_page(cls, page): - return db.session.query(cls).order_by(cls.country).paginate(page, per_page=ITEMS_PER_PAGE) + def get_all_as_page(cls, page: int): + return db.session.query(cls)\ + .order_by(cls.country)\ + .paginate(page, per_page=ITEMS_PER_PAGE) @classmethod def get_all(cls): - return db.session.query(cls).order_by(cls.country).all() + return db.session.query(cls)\ + .order_by(cls.country)\ + .all() @classmethod def get_all_as_dict(cls): @@ -307,15 +311,20 @@ class RkiCountry(db.Model): return countries @classmethod - def get_by_id(cls, other_id): - return db.session.query(cls).filter(cls.id == other_id).one() + def get_by_id(cls, other_id: int): + return db.session.query(cls)\ + .filter(cls.id == other_id)\ + .one() @classmethod def get_germany(cls): - return db.session.query(cls).filter(cls.country_code == 'DE').one() + return db.session.query(cls)\ + .filter(cls.country_code == 'DE')\ + .one() @classmethod - def find_by_country_code_and_country_and_who_region_id(cls, i_country_code, i_country, my_region): + def find_by_country_code_and_country_and_who_region_id(cls, + i_country_code: str, i_country: str, my_region: RkiRegion): return db.session.query(cls).filter( and_( cls.country_code == i_country_code, @@ -325,13 +334,14 @@ class RkiCountry(db.Model): ).one_or_none() @classmethod - def find_by_country_code(cls, i_country_code): + def find_by_country_code(cls, i_country_code: str): return db.session.query(cls).filter( - cls.country_code == i_country_code + cls.country_code == i_country_code ).one_or_none() @classmethod - def get_who_countries_for_region(cls, region, page): + def get_who_countries_for_region(cls, region: str, page: int): return db.session.query(cls).filter( cls.region == region - ).order_by(cls.country).paginate(page, per_page=ITEMS_PER_PAGE) + ).order_by(cls.country)\ + .paginate(page, per_page=ITEMS_PER_PAGE) diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model.py index 29dce23637d65520054f17e89241558bbf520f53..111af443bb1ddf65120991a49b58bb04e0867305 100644 --- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model.py +++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model.py @@ -24,7 +24,7 @@ class RkiVaccinationDateReported(ApplicationDateReported): week_of_year = db.Column(db.Integer, nullable=False) @classmethod - def create_new_object_factory(cls, my_date_rep): + def create_new_object_factory(cls, my_date_rep: str): my_datum = date.fromisoformat(my_date_rep) (my_iso_year, week_number, weekday) = my_datum.isocalendar() my_year_week = "" + str(my_iso_year) @@ -84,7 +84,7 @@ class RkiVaccinationData(db.Model): return None @classmethod - def get_all_as_page(cls, page): + def get_all_as_page(cls, page: int): return db.session.query(cls)\ .paginate(page, per_page=ITEMS_PER_PAGE) @@ -93,19 +93,19 @@ class RkiVaccinationData(db.Model): return db.session.query(cls).all() @classmethod - def get_by_id(cls, other_id): + def get_by_id(cls, other_id: int): return db.session.query(cls)\ .filter(cls.id == other_id)\ .one() @classmethod - def find_by_id(cls, other_id): + def find_by_id(cls, other_id: int): return db.session.query(cls) \ .filter(cls.id == other_id) \ .one_or_none() @classmethod - def find_by_datum(cls, other_datum): + def find_by_datum(cls, other_datum: RkiVaccinationDateReported): return db.session.query(cls) \ .filter(cls.date_reported_id == other_datum.id) \ .one_or_none() diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py index 0f5957c2a4d3284458cd86c5ab9b9bef24a833a6..9d6be30bb0611bd14511ae80bb48f11f357d29fe 100644 --- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py +++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py @@ -35,7 +35,7 @@ class RkiVaccinationImport(db.Model): return None @classmethod - def get_all_as_page(cls, page): + def get_all_as_page(cls, page: int): return db.session.query(cls)\ .order_by(cls.datum.desc())\ .paginate(page, per_page=ITEMS_PER_PAGE) @@ -47,19 +47,19 @@ class RkiVaccinationImport(db.Model): .all() @classmethod - def get_by_id(cls, other_id): + def get_by_id(cls, other_id: int): return db.session.query(cls)\ .filter(cls.id == other_id)\ .one() @classmethod - def find_by_id(cls, other_id): + def find_by_id(cls, other_id: int): return db.session.query(cls) \ .filter(cls.id == other_id) \ .one_or_none() @classmethod - def find_by_datum(cls, other_datum): + def find_by_datum(cls, other_datum: str): return db.session.query(cls) \ .filter(cls.datum == other_datum) \ .all() diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_update.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_update.py index 458fc4e1ed34328467ba0d68818e9be8dc7e80fc..3935b8f717ee6749591d5285b57f8089eb7242d3 100644 --- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_update.py +++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_update.py @@ -33,7 +33,7 @@ class RkiVaccinationServiceUpdate: app.logger.info("------------------------------------------------------------") return self - def __update_data_initial(self): + def __update_fact_table_initial(self): app.logger.info(" __update_data_initial [begin]") app.logger.info("------------------------------------------------------------") RkiVaccinationData.remove_all() @@ -41,52 +41,50 @@ class RkiVaccinationServiceUpdate: i = 0 for item_date_rep, in result_date_rep: #dt = item_date_rep['date_rep'] - europe_date_reported = RkiVaccinationDateReported.find_by_date_reported( - i_date_reported=item_date_rep + date_reported = RkiVaccinationDateReported.find_by_date_reported( + p_date_reported=item_date_rep ) - if europe_date_reported is None: - o = RkiVaccinationDateReported.create_new_object_factory(item_date_rep) - europe_date_reported = o - result_europe_data_import = RkiVaccinationImport.find_by_datum(europe_date_reported.date_reported) - for item_europe_data_import in result_europe_data_import: + if date_reported is None: + o = RkiVaccinationDateReported.create_new_object_factory(my_date_rep=item_date_rep) + date_reported = o + result_data_import = RkiVaccinationImport.find_by_datum(date_reported.date_reported) + for item_import in result_data_import: o = RkiVaccinationData( - date_reported=europe_date_reported, - dosen_kumulativ=item_europe_data_import.dosen_kumulativ, - dosen_differenz_zum_vortag=item_europe_data_import.dosen_differenz_zum_vortag, - dosen_biontech_kumulativ=item_europe_data_import.dosen_biontech_kumulativ, - dosen_moderna_kumulativ=item_europe_data_import.dosen_moderna_kumulativ, - personen_erst_kumulativ=item_europe_data_import.personen_erst_kumulativ, - personen_voll_kumulativ=item_europe_data_import.personen_voll_kumulativ, - impf_quote_erst=item_europe_data_import.impf_quote_erst, - impf_quote_voll=item_europe_data_import.impf_quote_voll, - indikation_alter_dosen=item_europe_data_import.indikation_alter_dosen, - indikation_beruf_dosen=item_europe_data_import.indikation_beruf_dosen, - indikation_medizinisch_dosen=item_europe_data_import.indikation_medizinisch_dosen, - indikation_pflegeheim_dosen=item_europe_data_import.indikation_pflegeheim_dosen, - indikation_alter_erst=item_europe_data_import.indikation_alter_erst, - indikation_beruf_erst=item_europe_data_import.indikation_beruf_erst, - indikation_medizinisch_erst=item_europe_data_import.indikation_medizinisch_erst, - indikation_pflegeheim_erst=item_europe_data_import.indikation_pflegeheim_erst, - indikation_alter_voll=item_europe_data_import.indikation_alter_voll, - indikation_beruf_voll=item_europe_data_import.indikation_beruf_voll, - indikation_medizinisch_voll=item_europe_data_import.indikation_medizinisch_voll, - indikation_pflegeheim_voll=item_europe_data_import.indikation_pflegeheim_voll + date_reported=date_reported, + dosen_kumulativ=item_import.dosen_kumulativ, + dosen_differenz_zum_vortag=item_import.dosen_differenz_zum_vortag, + dosen_biontech_kumulativ=item_import.dosen_biontech_kumulativ, + dosen_moderna_kumulativ=item_import.dosen_moderna_kumulativ, + personen_erst_kumulativ=item_import.personen_erst_kumulativ, + personen_voll_kumulativ=item_import.personen_voll_kumulativ, + impf_quote_erst=item_import.impf_quote_erst, + impf_quote_voll=item_import.impf_quote_voll, + indikation_alter_dosen=item_import.indikation_alter_dosen, + indikation_beruf_dosen=item_import.indikation_beruf_dosen, + indikation_medizinisch_dosen=item_import.indikation_medizinisch_dosen, + indikation_pflegeheim_dosen=item_import.indikation_pflegeheim_dosen, + indikation_alter_erst=item_import.indikation_alter_erst, + indikation_beruf_erst=item_import.indikation_beruf_erst, + indikation_medizinisch_erst=item_import.indikation_medizinisch_erst, + indikation_pflegeheim_erst=item_import.indikation_pflegeheim_erst, + indikation_alter_voll=item_import.indikation_alter_voll, + indikation_beruf_voll=item_import.indikation_beruf_voll, + indikation_medizinisch_voll=item_import.indikation_medizinisch_voll, + indikation_pflegeheim_voll=item_import.indikation_pflegeheim_voll ) db.session.add(o) - item_europe_data_import.row_imported = True - db.session.add(item_europe_data_import) i += 1 if i % 500 == 0: - app.logger.info(" update Europa initial ... " + str(i) + " rows") + app.logger.info(" update Vaccination initial ... " + str(i) + " rows") db.session.commit() db.session.commit() - app.logger.info(" update Europa initial ... " + str(i) + " rows total") + app.logger.info(" update Vaccination initial ... " + str(i) + " rows total") app.logger.info(" __update_data_initial [done]") app.logger.info("------------------------------------------------------------") return self - def __update_data_incremental(self): - app.logger.info(" __update_data_initial [begin]") + def __update_fact_table_incremental(self): + app.logger.info(" __update_data_initial Vaccination [begin]") app.logger.info("------------------------------------------------------------") result_date_rep = RkiVaccinationImport.get_daterep_missing_in_vaccination_data() i = 0 @@ -122,48 +120,14 @@ class RkiVaccinationServiceUpdate: db.session.add(item_europe_data_import) i += 1 if i % 500 == 0: - app.logger.info(" update Europa initial ... " + str(i) + " rows") + app.logger.info(" update Vaccination initial ... " + str(i) + " rows") db.session.commit() db.session.commit() - app.logger.info(" update Europa initial ... " + str(i) + " rows total") - app.logger.info(" __update_data_initial [done]") + app.logger.info(" update Vaccination initial ... " + str(i) + " rows total") + app.logger.info(" __update_data_initial Vaccination [done]") app.logger.info("------------------------------------------------------------") return self - # TODO: remove DEPRECATED - #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 - #def update_db_initial_DEPRECATED(self): - # app.logger.info(" update_db_initial [begin]") - # app.logger.info("------------------------------------------------------------") - # RkiVaccinationDateReported.remove_all() - # RkiVaccinationData.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 - #def update_db_short_DEPRECATED(self): - # app.logger.info(" update_db_short [begin]") - # app.logger.info("------------------------------------------------------------") - # RkiVaccinationDateReported.remove_all() - # RkiVaccinationData.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 @@ -173,21 +137,21 @@ class RkiVaccinationServiceUpdate: return self def update_fact_table_incremental_only(self): - self.__update_data_incremental() + self.__update_fact_table_incremental() return self def update_fact_table_initial_only(self): - self.__update_data_initial() + self.__update_fact_table_initial() return self def update_star_schema_incremental(self): self.__update_dimension_table_date_reported() - self.__update_data_incremental() + self.__update_fact_table_incremental() return self def update_star_schema_initial(self): RkiVaccinationData.remove_all() RkiVaccinationDateReported.remove_all() self.__update_dimension_table_date_reported() - self.__update_data_initial() + self.__update_fact_table_initial() return self