From b4b4f207331cf032423d91141dda390df72fc574 Mon Sep 17 00:00:00 2001 From: thomaswoehlke <thomas.woehlke@gmail.com> Date: Mon, 24 May 2021 07:09:16 +0200 Subject: [PATCH] Refactoring: rename covid19 to flask_covid19ssaas --- .../blueprints/data_who/who_service_update.py | 180 +----------------- 1 file changed, 2 insertions(+), 178 deletions(-) diff --git a/src/flask_covid19/blueprints/data_who/who_service_update.py b/src/flask_covid19/blueprints/data_who/who_service_update.py index b57f6749..aa935f35 100644 --- a/src/flask_covid19/blueprints/data_who/who_service_update.py +++ b/src/flask_covid19/blueprints/data_who/who_service_update.py @@ -15,181 +15,6 @@ class WhoServiceUpdateBase: app.logger.debug(" WhoServiceUpdateBase [ready]") -class WhoServiceUpdate(WhoServiceUpdateBase): - - def __who_import_get_new_dates_as_array(self): - new_dates_reported_from_import = [] - list_datum_of_all_who_data = WhoData.get_datum_of_all_data() - for item in WhoImport.get_datum_of_all_who_import(): - if not item in list_datum_of_all_who_data: - new_dates_reported_from_import.append(item) - return new_dates_reported_from_import - - def __update_date_reported(self): - app.logger.info(" WhoServiceUpdate.__update_date_reported [begin]") - app.logger.info("------------------------------------------------------------") - i = 0 - log_lines = [] - for i_date_reported in self.__who_import_get_new_dates_as_array(): - i += 1 - c = WhoDateReported.find_by_date_reported(i_date_reported) - if c is None: - o = WhoDateReported.create_new_object_factory(my_date_rep=i_date_reported) - db.session.add(o) - db.session.commit() - output = " update WHO date_reported [ " + str(i) + " ] " + str(o) - output += " added" - else: - output = " update WHO date_reported [ " + str(i) + " ] " + str(c) - output += " NOT added "+str(c.id) - log_lines.append(output) - for output in log_lines: - app.logger.info(output) - app.logger.info("") - app.logger.info(" WhoServiceUpdate.__update_date_reported [done]") - app.logger.info("------------------------------------------------------------") - return self - - def __update_region(self): - app.logger.info(" WhoServiceUpdate.__update_region [begin]") - app.logger.info("------------------------------------------------------------") - i = 0 - log_lines = [] - for i_who_region, in WhoImport.get_regions(): - i += 1 - c = WhoCountryRegion.find_by_region(i_who_region) - if c is None: - o = WhoCountryRegion( - location_group=i_who_region, - processed_update=False, - processed_full_update=False, - ) - db.session.add(o) - db.session.commit() - output = " update WHO region [ " + str(i) + " ] " + str(o) - output += " added" - else: - output = " update WHO region [ " + str(i) + " ] " + str(c) - output += " NOT added ( id=" + str(c.id) + " ) " - log_lines.append(output) - for output in log_lines: - app.logger.info(output) - app.logger.info("") - app.logger.info(" WhoServiceUpdate.__update_region [done]") - app.logger.info("------------------------------------------------------------") - return self - - def __update_country(self): - app.logger.info(" WhoServiceUpdate.__update_country [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_region() - result = WhoImport.countries() - i = 0 - log_lines = [] - for result_item in result: - i += 1 - i_country_code = result_item.countries.country_code - i_country = result_item.countries.country - i_who_region = result_item.countries.who_region - my_region = WhoCountryRegion.find_by_region(i_who_region) - my_country = WhoCountry.find_by_country_code_and_country_and_who_region_id( - i_country_code, i_country, my_region - ) - if my_country is None: - o = WhoCountry( - location=i_country, - location_code=i_country_code, - location_group=my_region, - processed_update=False, - processed_full_update=False, - ) - db.session.add(o) - db.session.commit() - output = " update WHO country [ " + str(i) + " ] " + str(o) - output2 = " added " - else: - output = " update WHO country [ " + str(i) + " ] " + str(my_country) - output2 = " NOT added ( id=" + str(my_country.id) + " ) " - output += i_country_code + output2 - log_lines.append(output) - for output in log_lines: - app.logger.info(output) - db.session.commit() - app.logger.info("") - app.logger.info(" WhoServiceUpdate.__update_country [done]") - app.logger.info("------------------------------------------------------------") - return self - - def __update_data(self): - app.logger.info(" WhoServiceUpdate.__update_data [begin]") - app.logger.info("------------------------------------------------------------") - new_dates_reported_from_import = self.__who_import_get_new_dates_as_array() - i = 0 - d = 0 - k = 0 - for my_date_reported in new_dates_reported_from_import: - app.logger.info(my_date_reported) - my_date = WhoDateReported.find_by_date_reported(my_date_reported) - if my_date is None: - myday = WhoDateReported.create_new_object_factory(my_date_reported) - db.session.add(myday) - db.session.commit() - my_date = WhoDateReported.get_by_date_reported(my_date_reported) - for result_item in WhoImport.get_for_one_day(my_date_reported): - if result_item.country_code == "": - my_country = WhoCountry.get_by_country(result_item.country) - else: - my_country = WhoCountry.get_by_country_code(result_item.country_code) - o = WhoData( - cases_new=int(result_item.new_cases), - cases_cumulative=int(result_item.cumulative_cases), - deaths_new=int(result_item.new_deaths), - deaths_cumulative=int(result_item.cumulative_deaths), - date_reported=my_date, - country=my_country - ) - db.session.add(o) - i += 1 - k += 1 - d += 1 - if d % 7 == 0: - db.session.commit() - app.logger.info(" update WHO " + str(my_date) + " ... " + str(i) + " rows ( " + str(k) + " )") - k = 0 - db.session.commit() - app.logger.info(" update WHO : "+str(i)+" rows total") - app.logger.info(" WhoServiceUpdate.__update_data [done]") - app.logger.info("------------------------------------------------------------") - return self - - def update_dimension_tables(self): - app.logger.info(" update_dimension_tables_only [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_country() - app.logger.info(" update_dimension_tables_only [done]") - app.logger.info("------------------------------------------------------------") - return self - - def update_fact_table(self): - app.logger.info(" update_fact_table_only [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_data() - app.logger.info(" update_fact_table_only [done]") - app.logger.info("------------------------------------------------------------") - return self - - def update_star_schema(self): - app.logger.info(" update_star_schema [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_country() - self.__update_data() - app.logger.info(" update_star_schema [done]") - app.logger.info("------------------------------------------------------------") - return self - - class WhoServiceUpdateFull(WhoServiceUpdateBase): def __full_update_date_reported(self): @@ -524,9 +349,8 @@ class WhoServiceUpdate(WhoServiceUpdateBase): def update_star_schema(self): app.logger.info(" update_star_schema [begin]") app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_country() - self.__update_data() + self.update_dimension_tables() + self.update_fact_table() app.logger.info(" update_star_schema [done]") app.logger.info("------------------------------------------------------------") return self -- GitLab