From f3ce48c2eb576571186cb29f92f3a0ec70ed6215 Mon Sep 17 00:00:00 2001 From: thomaswoehlke <thomas.woehlke@gmail.com> Date: Fri, 19 Feb 2021 22:00:55 +0100 Subject: [PATCH] ### 0.0.18 Release --- .../rki_bundeslaender_service.py | 8 +- .../rki_bundeslaender_service_config.py | 2 +- .../rki_bundeslaender_service_download.py | 2 +- .../rki_bundeslaender_service_import.py | 4 +- .../rki_bundeslaender_service_update.py | 6 +- .../rki_bundeslaender_views.py | 4 +- .../rki_landkreise_model_import.py | 37 ----- .../rki_landkreise_service_update.py | 140 ++++++++++++------ 8 files changed, 107 insertions(+), 96 deletions(-) diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service.py index 896496f1..8da5047a 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service.py @@ -1,10 +1,10 @@ from flask import flash from database import app -from covid19.blueprints.rki_bundeslaender.rki_service_config import RkiBundeslaenderServiceConfig -from covid19.blueprints.rki_bundeslaender.rki_service_download import RkiBundeslaenderServiceDownload -from covid19.blueprints.rki_bundeslaender.rki_service_import import RkiBundeslaenderServiceImport -from covid19.blueprints.rki_bundeslaender.rki_service_update import RkiBundeslaenderServiceUpdate +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_config import RkiBundeslaenderServiceConfig +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_download import RkiBundeslaenderServiceDownload +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_import import RkiBundeslaenderServiceImport +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_update import RkiBundeslaenderServiceUpdate class RkiBundeslaenderService: diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_config.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_config.py index 957a26e2..2eaa8f7a 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_config.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_config.py @@ -1,6 +1,6 @@ from datetime import date import os -from covid19.blueprints.rki_bundeslaender.rki_model_import import RkiBundeslaenderImport +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model_import import RkiBundeslaenderImport class RkiBundeslaenderServiceConfig: diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_download.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_download.py index da8a384c..a11630a4 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_download.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_download.py @@ -3,7 +3,7 @@ import wget from flask import flash from database import app -from covid19.blueprints.rki_bundeslaender.rki_service_config import RkiBundeslaenderServiceConfig +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_config import RkiBundeslaenderServiceConfig class RkiBundeslaenderServiceDownload: diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_import.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_import.py index 7f8a6e93..290acdf2 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_import.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_import.py @@ -2,8 +2,8 @@ import csv import psycopg2 from database import db, app -from covid19.blueprints.rki_bundeslaender.rki_model_import import RkiBundeslaenderImport -from covid19.blueprints.rki_bundeslaender.rki_service_config import RkiBundeslaenderServiceConfig +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model_import import RkiBundeslaenderImport +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_config import RkiBundeslaenderServiceConfig class RkiBundeslaenderServiceImport: diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_update.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_update.py index be6f25ed..eb5781cd 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_update.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_service_update.py @@ -1,9 +1,9 @@ from database import db, app from covid19.blueprints.application.application_model import RkiDateReported -from covid19.blueprints.rki_bundeslaender.rki_model import RkiBundeslaender -from covid19.blueprints.rki_bundeslaender.rki_model_import import RkiBundeslaenderImport -from covid19.blueprints.rki_bundeslaender.rki_service_config import RkiBundeslaenderServiceConfig +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model import RkiBundeslaender +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model_import import RkiBundeslaenderImport +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_service_config import RkiBundeslaenderServiceConfig class RkiBundeslaenderServiceUpdate: diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py index 83d3da4a..d0215a03 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py @@ -3,8 +3,8 @@ from sqlalchemy.exc import OperationalError from flask_admin.contrib.sqla import ModelView from database import app, admin, db -from covid19.blueprints.rki_bundeslaender.rki_model import RkiBundeslaender -from covid19.blueprints.rki_bundeslaender.rki_model_import import RkiBundeslaenderImport +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model import RkiBundeslaender +from covid19.blueprints.rki_bundeslaender.rki_bundeslaender_model_import import RkiBundeslaenderImport from covid19.blueprints.application.application_model_transient import ApplicationPage drop_and_create_data_again = True diff --git a/src/covid19/blueprints/rki_landkreise/rki_landkreise_model_import.py b/src/covid19/blueprints/rki_landkreise/rki_landkreise_model_import.py index f0590162..0e8924a3 100644 --- a/src/covid19/blueprints/rki_landkreise/rki_landkreise_model_import.py +++ b/src/covid19/blueprints/rki_landkreise/rki_landkreise_model_import.py @@ -77,40 +77,3 @@ class RkiLandkreiseImport(db.Model): @classmethod def find_by_id(cls, other_id): return db.session.query(cls).filter(cls.id == other_id).one_or_none() - - - @classmethod - def get_new_dates_as_array(cls): - # TODO: #129 change to ORM ClassHierarchy in: RkiLandkreiseImport.get_new_dates_as_array - sql_query = """ - select - distinct - rki_landkreise_import.date_reported - from - rki_landkreise_import - where - date_reported - not in ( - select - distinct - rki_date_reported.date_reported - from - rki_landkreise - left join - rki_date_reported - on - rki_landkreise.date_reported_id=rki_date_reported.id - group by - rki_date_reported.datum - order by - rki_date_reported.datum desc - ) - group by - rki_landkreise_import.date_reported - order by - rki_landkreise_import.date_reported desc - """ - new_dates = [] - for item in db.session.execute(sql_query): - new_dates.append(item['date_reported']) - return new_dates diff --git a/src/covid19/blueprints/rki_landkreise/rki_landkreise_service_update.py b/src/covid19/blueprints/rki_landkreise/rki_landkreise_service_update.py index 70bfd0ad..fb3d9b99 100644 --- a/src/covid19/blueprints/rki_landkreise/rki_landkreise_service_update.py +++ b/src/covid19/blueprints/rki_landkreise/rki_landkreise_service_update.py @@ -45,11 +45,53 @@ class RkiLandkreiseServiceUpdate: my_date = RkiDateReported.find_by_date_reported(my_date_reported) for result_item in RkiLandkreiseImport.get_for_one_day(my_date_reported): o = RkiLandkreise( - 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, + objectid=int(result_item.objectid), + ade=int(result_item.ade), + gf=int(result_item.gf), + bsg=int(result_item.bsg), + rs=int(result_item.rs), + ags=int(result_item.ags), + sdv_rs=int(result_item.sdv_rs), + gen=int(result_item.gen), + bez=int(result_item.bez), + ibz=int(result_item.ibz), + bem=int(result_item.bem), + nbd=int(result_item.nbd), + sn_l=int(result_item.sn_l), + sn_r=int(result_item.sn_r), + sn_k=int(result_item.sn_k), + sn_v1=int(result_item.sn_v1), + sn_v2=int(result_item.sn_v2), + sn_g=int(result_item.sn_g), + fk_s3=int(result_item.fk_s3), + nuts=int(result_item.nuts), + rs_0=int(result_item.rs_0), + ags_0=int(result_item.ags_0), + wsk=int(result_item.wsk), + ewz=int(result_item.ewz), + kfl=int(result_item.kfl), + debkg_id=int(result_item.debkg_id), + death_rate=int(result_item.death_rate), + cases=int(result_item.cases), + deaths=int(result_item.deaths), + cases_per_100k=int(result_item.cases_per_100k), + cases_per_population=int(result_item.cases_per_population), + bl=int(result_item.bl), + bl_id=int(result_item.bl_id), + county=int(result_item.county), + last_update=int(result_item.last_update), + cases7_per_100k=int(result_item.cases7_per_100k), + recovered=int(result_item.recovered), + ewz_bl=int(result_item.ewz_bl), + cases7_bl_per_100k=int(result_item.cases7_bl_per_100k), + cases7_bl=int(result_item.cases7_bl), + death7_bl=int(result_item.death7_bl), + cases7_lk=int(result_item.cases7_lk), + death7_lk=int(result_item.death7_lk), + cases7_per_100k_txt=int(result_item.cases7_per_100k_txt), + adm_unit_id=int(result_item.adm_unit_id), + shape_length=int(result_item.shape_length), + shape_area=int(result_item.shape_area), ) db.session.add(o) result_item.row_imported = True @@ -74,11 +116,53 @@ class RkiLandkreiseServiceUpdate: my_date = RkiDateReported.find_by_date_reported(my_date_reported) for result_item in RkiLandkreiseImport.get_for_one_day(my_date_reported): o = RkiLandkreise( - 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 + objectid=int(result_item.objectid), + ade=int(result_item.ade), + gf=int(result_item.gf), + bsg=int(result_item.bsg), + rs=int(result_item.rs), + ags=int(result_item.ags), + sdv_rs=int(result_item.sdv_rs), + gen=int(result_item.gen), + bez=int(result_item.bez), + ibz=int(result_item.ibz), + bem=int(result_item.bem), + nbd=int(result_item.nbd), + sn_l=int(result_item.sn_l), + sn_r=int(result_item.sn_r), + sn_k=int(result_item.sn_k), + sn_v1=int(result_item.sn_v1), + sn_v2=int(result_item.sn_v2), + sn_g=int(result_item.sn_g), + fk_s3=int(result_item.fk_s3), + nuts=int(result_item.nuts), + rs_0=int(result_item.rs_0), + ags_0=int(result_item.ags_0), + wsk=int(result_item.wsk), + ewz=int(result_item.ewz), + kfl=int(result_item.kfl), + debkg_id=int(result_item.debkg_id), + death_rate=int(result_item.death_rate), + cases=int(result_item.cases), + deaths=int(result_item.deaths), + cases_per_100k=int(result_item.cases_per_100k), + cases_per_population=int(result_item.cases_per_population), + bl=int(result_item.bl), + bl_id=int(result_item.bl_id), + county=int(result_item.county), + last_update=int(result_item.last_update), + cases7_per_100k=int(result_item.cases7_per_100k), + recovered=int(result_item.recovered), + ewz_bl=int(result_item.ewz_bl), + cases7_bl_per_100k=int(result_item.cases7_bl_per_100k), + cases7_bl=int(result_item.cases7_bl), + death7_bl=int(result_item.death7_bl), + cases7_lk=int(result_item.cases7_lk), + death7_lk=int(result_item.death7_lk), + cases7_per_100k_txt=int(result_item.cases7_per_100k_txt), + adm_unit_id=int(result_item.adm_unit_id), + shape_length=int(result_item.shape_length), + shape_area=int(result_item.shape_area), ) db.session.add(o) result_item.row_imported = True @@ -93,42 +177,6 @@ class RkiLandkreiseServiceUpdate: app.logger.info("------------------------------------------------------------") return self - # TODO: #153 refactor RkiBundeslaenderServiceUpdate.update_db - def update_db(self): - app.logger.info(" update db [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_region() - self.__update_who_country() - self.__update_who_global_data() - app.logger.info(" update db [done]") - app.logger.info("------------------------------------------------------------") - return self - - # TODO: #154 refactor RkiBundeslaenderServiceUpdate.update_db_short - def update_db_short(self): - app.logger.info(" update db short [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_region() - self.__update_who_country() - self.__update_who_global_data_short() - app.logger.info(" update db short [done]") - app.logger.info("------------------------------------------------------------") - return self - - # TODO: #155 refactor RkiBundeslaenderServiceUpdate.update_db_initial - def update_db_initial(self): - app.logger.info(" update db initial [begin]") - app.logger.info("------------------------------------------------------------") - self.__update_date_reported() - self.__update_region() - self.__update_who_country() - self.__update_who_global_data_initial() - app.logger.info(" update db initial [done]") - app.logger.info("------------------------------------------------------------") - return self - def update_dimension_tables_only(self): #TODO: #123 split RkiBundeslaenderService into two Services, one for bundeslaender and one for landkreise #TODO: #141 implement RkiBundeslaenderServiceUpdate.update_dimension_tables_only -- GitLab