From 1d887f44964edd29d1a30a1dfc645b9070ffc3fa Mon Sep 17 00:00:00 2001 From: thomaswoehlke <thomas.woehlke@gmail.com> Date: Fri, 7 May 2021 00:03:35 +0200 Subject: [PATCH] working on: 0.0.34 Release --- src/covid19/blueprints/rki_cases/a.py | 18 ++++ src/covid19/blueprints/rki_cases/rki_model.py | 90 +++++++++---------- .../blueprints/rki_cases/rki_model_import.py | 37 ++++---- .../rki_cases/rki_service_import.py | 37 ++++---- 4 files changed, 96 insertions(+), 86 deletions(-) create mode 100644 src/covid19/blueprints/rki_cases/a.py diff --git a/src/covid19/blueprints/rki_cases/a.py b/src/covid19/blueprints/rki_cases/a.py new file mode 100644 index 00000000..9b19fcb5 --- /dev/null +++ b/src/covid19/blueprints/rki_cases/a.py @@ -0,0 +1,18 @@ +FID=row['FID'], +IdBundesland=row['IdBundesland'], +Bundesland=row['Bundesland'], +Landkreis=row['Landkreis'], +Altersgruppe=row['Altersgruppe'], +Geschlecht=row['Geschlecht'], +AnzahlFall=row['AnzahlFall'], +AnzahlTodesfall=row['AnzahlTodesfall'], +Meldedatum=row['Meldedatum'], +IdLandkreis=row['IdLandkreis'], +Datenstand=row['Datenstand'], +NeuerFall=row['NeuerFall'], +NeuerTodesfall=row['NeuerTodesfall'], +Refdatum=row['Refdatum'], +NeuGenesen=row['NeuGenesen'], +AnzahlGenesen=row['AnzahlGenesen'], +IstErkrankungsbeginn=row['IstErkrankungsbeginn'], +Altersgruppe2=row['Altersgruppe2'], \ No newline at end of file diff --git a/src/covid19/blueprints/rki_cases/rki_model.py b/src/covid19/blueprints/rki_cases/rki_model.py index f15cc90b..5cbf605a 100644 --- a/src/covid19/blueprints/rki_cases/rki_model.py +++ b/src/covid19/blueprints/rki_cases/rki_model.py @@ -6,7 +6,7 @@ from database import db, ITEMS_PER_PAGE from covid19.blueprints.app_all.all_model import ApplicationDateReported, ApplicationRegion -class RkiDateReported(ApplicationDateReported): +class RkiMeldedatum(ApplicationDateReported): __tablename__ = 'rki_cases_datereported' __mapper_args__ = {'concrete': True} __table_args__ = ( @@ -33,7 +33,7 @@ class RkiDateReported(ApplicationDateReported): else: my_year_week += "-" my_year_week += str(week_number) - return RkiDateReported( + return RkiMeldedatum( date_reported_import_str=my_date_rep, datum=my_datum, year=my_datum.year, @@ -45,40 +45,39 @@ class RkiDateReported(ApplicationDateReported): ) -class RkiCountryRegion(ApplicationRegion): - __tablename__ = 'rki_cases_country_region' +class RkiBundesland(ApplicationRegion): + __tablename__ = 'rki_cases_landkreis_bundesland' __mapper_args__ = {'concrete': True} __table_args__ = ( - db.UniqueConstraint('region', name="uix_rki_cases_country_region"), + db.UniqueConstraint('id_bundesland', 'bundesland', name="uix_rki_cases_landkreis_bundesland"), ) id = db.Column(db.Integer, primary_key=True) - region = db.Column(db.String(255), nullable=False, unique=True) + id_bundesland = db.Column(db.String(255), nullable=False) + region = db.Column(db.String(255), nullable=False) -class RkiCountry(db.Model): - __tablename__ = 'rki_cases_country' +class RkiLandkreis(db.Model): + __tablename__ = 'rki_cases_landkreis' __table_args__ = ( - db.UniqueConstraint('country_code', 'country', name="uix_rki_cases_country"), + db.UniqueConstraint('landkreis', 'id_landkreis', name="uix_rki_cases_landkreis"), ) id = db.Column(db.Integer, primary_key=True) - country_code = db.Column(db.String(255), unique=True, nullable=False) - country = db.Column(db.String(255), unique=True, nullable=False) - region_id = db.Column(db.Integer, db.ForeignKey('rki_cases_country_region.id'), nullable=False) - region = db.relationship( - 'RkiCountryRegion', + id_landkreis = db.Column(db.String(255), nullable=False) + landkreis = db.Column(db.String(255), nullable=False) + bundesland_id = db.Column(db.Integer, db.ForeignKey('rki_cases_country_region.id'), nullable=False) + bundesland = db.relationship( + 'RkiBundesland', lazy='joined', cascade='save-update', - order_by='RkiCountryRegion.region') + order_by='RkiBundesland.region') def __str__(self): result = "" - result += self.country_code + result += self.landkreis result += " " - result += self.country - result += " " - result += self.region.region + result += self.bundesland.region result += " " return result @@ -174,40 +173,35 @@ class RkiData(db.Model): __tablename__ = 'rki_cases' id = db.Column(db.Integer, primary_key=True) - object_id_1 = db.Column(db.Integer, nullable=False) - lan_ew_ags = db.Column(db.Integer, nullable=False) - lan_ew_gen = db.Column(db.String(255), nullable=False) - lan_ew_bez = db.Column(db.String(255), nullable=False) - lan_ew_ewz = db.Column(db.Integer, nullable=False) - object_id = db.Column(db.Integer, nullable=False) - fallzahl = db.Column(db.Integer, nullable=False) - aktualisierung = db.Column(db.String(255), nullable=False) - ags_txt = db.Column(db.Integer, nullable=False) - global_id = db.Column(db.String(255), nullable=False) - faelle_100000_ew = db.Column(db.Float, nullable=False) - death = db.Column(db.Integer, nullable=False) - cases7_bl_per_100k = db.Column(db.Float, nullable=False) - cases7_bl = db.Column(db.Integer, nullable=False) - death7_bl = db.Column(db.Integer, nullable=False) - cases7_bl_per_100k_txt = db.Column(db.String(255), nullable=False) - adm_unit_id = db.Column(db.Integer, nullable=False) - shape_length = db.Column(db.Float, nullable=False) - shape_area = db.Column(db.Float, nullable=False) - - date_reported_id = db.Column(db.Integer, + + fid = db.Column(db.String(255), nullable=False) + altersgruppe = db.Column(db.String(255), nullable=False) + geschlecht = db.Column(db.String(255), nullable=False) + anzahl_fall = db.Column(db.String(255), nullable=False) + anzahl_todesfall = db.Column(db.String(255), nullable=False) + meldedatum = db.Column(db.String(255), nullable=False) + datenstand = db.Column(db.String(255), nullable=False) + neuer_fall = db.Column(db.String(255), nullable=False) + neuer_todesfall = db.Column(db.String(255), nullable=False) + ref_datum = db.Column(db.String(255), nullable=False) + neu_genesen = db.Column(db.String(255), nullable=False) + anzahl_genesen = db.Column(db.String(255), nullable=False) + ist_erkrankungsbeginn = db.Column(db.String(255), nullable=False) + altersgruppe2 = db.Column(db.String(255), nullable=False) + meldedatum_id = db.Column(db.Integer, db.ForeignKey('rki_cases_datereported.id'), nullable=False) - date_reported = db.relationship( - 'RkiDateReported', + meldedatum = db.relationship( + 'RkiMeldedatum', lazy='joined', cascade='save-update', - order_by='desc(RkiDateReported.date_reported_import_str)') - country_id = db.Column(db.Integer, - db.ForeignKey('rki_cases_country.id'), nullable=False) - country = db.relationship( - 'RkiCountry', + order_by='desc(RkiMeldedatum.date_reported_import_str)') + landkreis_id = db.Column(db.Integer, + db.ForeignKey('rki_cases_landkreis.id'), nullable=False) + landkreis = db.relationship( + 'RkiLandkreis', lazy='joined', cascade='save-update', - order_by='asc(RkiCountry.country)') + order_by='asc(RkiLandkreis.landkreis)') @classmethod def remove_all(cls): diff --git a/src/covid19/blueprints/rki_cases/rki_model_import.py b/src/covid19/blueprints/rki_cases/rki_model_import.py index 127f564a..6964f27a 100644 --- a/src/covid19/blueprints/rki_cases/rki_model_import.py +++ b/src/covid19/blueprints/rki_cases/rki_model_import.py @@ -5,25 +5,24 @@ class RkiImport(db.Model): __tablename__ = 'application__import__rki_cases' id = db.Column(db.Integer, primary_key=True) - OBJECTID_1 = db.Column(db.String(255), nullable=False) - LAN_ew_AGS = db.Column(db.String(255), nullable=False) - LAN_ew_GEN = db.Column(db.String(255), nullable=False) - LAN_ew_BEZ = db.Column(db.String(255), nullable=False) - LAN_ew_EWZ = db.Column(db.String(255), nullable=False) - OBJECTID = db.Column(db.String(255), nullable=False) - Fallzahl = db.Column(db.String(255), nullable=False) - Aktualisierung = db.Column(db.String(255), nullable=False) - AGS_TXT = db.Column(db.String(255), nullable=False) - GlobalID = db.Column(db.String(255), nullable=False) - faelle_100000_EW = db.Column(db.String(255), nullable=False) - Death = db.Column(db.String(255), nullable=False) - cases7_bl_per_100k = db.Column(db.String(255), nullable=False) - cases7_bl = db.Column(db.String(255), nullable=False) - death7_bl = db.Column(db.String(255), nullable=False) - cases7_bl_per_100k_txt = db.Column(db.String(255), nullable=False) - AdmUnitId = db.Column(db.String(255), nullable=False) - SHAPE_Length = db.Column(db.String(255), nullable=False) - SHAPE_Area = db.Column(db.String(255), nullable=False) + fid = db.Column(db.String(255), nullable=False) + id_bundesland = db.Column(db.String(255), nullable=False) + bundesland = db.Column(db.String(255), nullable=False) + landkreis = db.Column(db.String(255), nullable=False) + altersgruppe = db.Column(db.String(255), nullable=False) + geschlecht = db.Column(db.String(255), nullable=False) + anzahl_fall = db.Column(db.String(255), nullable=False) + anzahl_todesfall = db.Column(db.String(255), nullable=False) + meldedatum = db.Column(db.String(255), nullable=False) + id_landkreis = db.Column(db.String(255), nullable=False) + datenstand = db.Column(db.String(255), nullable=False) + neuer_fall = db.Column(db.String(255), nullable=False) + neuer_todesfall = db.Column(db.String(255), nullable=False) + ref_datum = db.Column(db.String(255), nullable=False) + neu_genesen = db.Column(db.String(255), nullable=False) + anzahl_genesen = db.Column(db.String(255), nullable=False) + ist_erkrankungsbeginn = db.Column(db.String(255), nullable=False) + altersgruppe2 = db.Column(db.String(255), nullable=False) @classmethod def remove_all(cls): diff --git a/src/covid19/blueprints/rki_cases/rki_service_import.py b/src/covid19/blueprints/rki_cases/rki_service_import.py index 89647203..ae57a588 100644 --- a/src/covid19/blueprints/rki_cases/rki_service_import.py +++ b/src/covid19/blueprints/rki_cases/rki_service_import.py @@ -31,25 +31,24 @@ class RkiServiceImport: for row in file_reader: k = k + 1 o = RkiImport( - OBJECTID_1=row['OBJECTID_1'], - LAN_ew_AGS=row['LAN_ew_AGS'], - LAN_ew_GEN=row['LAN_ew_GEN'], - LAN_ew_BEZ=row['LAN_ew_BEZ'], - LAN_ew_EWZ=row['LAN_ew_EWZ'], - OBJECTID=row['OBJECTID'], - Fallzahl=row['Fallzahl'], - Aktualisierung=row['Aktualisierung'], - AGS_TXT=row['AGS_TXT'], - GlobalID=row['GlobalID'], - faelle_100000_EW=row['faelle_100000_EW'], - Death=row['Death'], - cases7_bl_per_100k=row['cases7_bl_per_100k'], - cases7_bl=row['cases7_bl'], - death7_bl=row['death7_bl'], - cases7_bl_per_100k_txt=row['cases7_bl_per_100k_txt'], - AdmUnitId=row['AdmUnitId'], - SHAPE_Length=row['SHAPE_Length'], - SHAPE_Area=row['SHAPE_Area'], + fid=row['FID'], + id_bundesland=row['IdBundesland'], + bundesland=row['Bundesland'], + landkreis=row['Landkreis'], + altersgruppe=row['Altersgruppe'], + geschlecht=row['Geschlecht'], + anzahl_fall=row['AnzahlFall'], + anzahl_todesfall=row['AnzahlTodesfall'], + meldedatum=row['Meldedatum'], + id_landkreis=row['IdLandkreis'], + datenstand=row['Datenstand'], + neuer_fall=row['NeuerFall'], + neuer_todesfall=row['NeuerTodesfall'], + ref_datum=row['Refdatum'], + neu_genesen=row['NeuGenesen'], + anzahl_genesen=row['AnzahlGenesen'], + ist_erkrankungsbeginn=row['IstErkrankungsbeginn'], + altersgruppe2=row['Altersgruppe2'] ) db.session.add(o) if (k % 2000) == 0: -- GitLab