From 370625c52ed054f28f659ba6621bd444181363ec Mon Sep 17 00:00:00 2001
From: thomaswoehlke <thomas.woehlke@gmail.com>
Date: Sat, 8 May 2021 21:08:48 +0200
Subject: [PATCH] working on: 0.0.34 Release

---
 .../blueprints/ecdc/ecdc_model_import.py      | 13 +++++++++---
 .../blueprints/ecdc/ecdc_service_import.py    | 20 ++++++++++++++-----
 .../blueprints/owid/owid_model_import.py      |  7 +++++++
 .../blueprints/owid/owid_service_import.py    | 12 ++++++++++-
 .../blueprints/rki_cases/rki_model_import.py  |  8 ++++++++
 .../rki_vaccination_model_import.py           |  9 ++++++++-
 .../rki_vaccination_service_import.py         | 15 ++++++++++++--
 .../blueprints/who/who_model_import.py        | 16 ++++++++++-----
 .../blueprints/who/who_service_import.py      | 20 ++++++++++++++-----
 9 files changed, 98 insertions(+), 22 deletions(-)

diff --git a/src/covid19/blueprints/ecdc/ecdc_model_import.py b/src/covid19/blueprints/ecdc/ecdc_model_import.py
index 20d1afa7..4eafae3c 100644
--- a/src/covid19/blueprints/ecdc/ecdc_model_import.py
+++ b/src/covid19/blueprints/ecdc/ecdc_model_import.py
@@ -6,9 +6,9 @@ class EcdcImport(db.Model):
 
     id = db.Column(db.Integer, primary_key=True)
     date_rep = db.Column(db.String(255), nullable=False)
-    day = db.Column(db.String(255), nullable=False)
-    month = db.Column(db.String(255), nullable=False)
-    year = db.Column(db.String(255), nullable=False)
+    date_rep_day = db.Column(db.String(255), nullable=False)
+    date_rep_month = db.Column(db.String(255), nullable=False)
+    date_rep_year = db.Column(db.String(255), nullable=False)
     cases = db.Column(db.String(255), nullable=False)
     deaths = db.Column(db.String(255), nullable=False)
     pop_data_2019 = db.Column(db.String(255), nullable=False)
@@ -17,6 +17,13 @@ class EcdcImport(db.Model):
     country_territory_code = db.Column(db.String(255), nullable=False)
     continent_exp = db.Column(db.String(255), nullable=False)
     cumulative_number_for_14_days_of_covid19_cases_per_100000 = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
diff --git a/src/covid19/blueprints/ecdc/ecdc_service_import.py b/src/covid19/blueprints/ecdc/ecdc_service_import.py
index 6ef12059..6c19fca0 100644
--- a/src/covid19/blueprints/ecdc/ecdc_service_import.py
+++ b/src/covid19/blueprints/ecdc/ecdc_service_import.py
@@ -3,6 +3,7 @@ import psycopg2
 
 from database import db, app
 from covid19.blueprints.app_all.all_service_config import ApplicationServiceConfig
+from covid19.blueprints.ecdc.ecdc_model import EcdcDateReported
 from covid19.blueprints.ecdc.ecdc_model_import import EcdcImport
 
 
@@ -27,11 +28,13 @@ class EcdcServiceImport:
             with open(self.cfg.cvsfile_path, newline='') as csv_file:
                 file_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"')
                 for row in file_reader:
+                    date_rep = row['dateRep']
+                    d = EcdcDateReported.create_new_object_factory(my_date_rep=date_rep)
                     o = EcdcImport(
-                        date_rep=row['dateRep'],
-                        day=row['day'],
-                        month=row['month'],
-                        year=row['year'],
+                        date_rep=date_rep,
+                        date_rep_day=row['day'],
+                        date_rep_month=row['month'],
+                        date_rep_year=row['year'],
                         cases=row['cases'],
                         deaths=row['deaths'],
                         countries_and_territories=row['countriesAndTerritories'],
@@ -40,7 +43,14 @@ class EcdcServiceImport:
                         pop_data_2019=row['popData2019'],
                         continent_exp=row['continentExp'],
                         cumulative_number_for_14_days_of_covid19_cases_per_100000
-                        =row['Cumulative_number_for_14_days_of_COVID-19_cases_per_100000']
+                        =row['Cumulative_number_for_14_days_of_COVID-19_cases_per_100000'],
+                        datum=d.datum,
+                        year=d.year,
+                        month=d.month,
+                        day_of_month=d.day_of_month,
+                        day_of_week=d.day_of_week,
+                        week_of_year=d.day_of_week,
+                        year_week=d.year_week
                     )
                     db.session.add(o)
                     k = k + 1
diff --git a/src/covid19/blueprints/owid/owid_model_import.py b/src/covid19/blueprints/owid/owid_model_import.py
index 3e9b2090..a187a3d1 100644
--- a/src/covid19/blueprints/owid/owid_model_import.py
+++ b/src/covid19/blueprints/owid/owid_model_import.py
@@ -66,6 +66,13 @@ class OwidImport(db.Model):
     hospital_beds_per_thousand = db.Column(db.String(255), nullable=False)
     life_expectancy = db.Column(db.String(255), nullable=False)
     human_development_index = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
diff --git a/src/covid19/blueprints/owid/owid_service_import.py b/src/covid19/blueprints/owid/owid_service_import.py
index 2f395440..66f06de3 100644
--- a/src/covid19/blueprints/owid/owid_service_import.py
+++ b/src/covid19/blueprints/owid/owid_service_import.py
@@ -2,6 +2,7 @@ import csv
 import psycopg2
 from database import db, app
 from covid19.blueprints.app_all.all_service_config import ApplicationServiceConfig
+from covid19.blueprints.owid.owid_model import OwidDateReported
 from covid19.blueprints.owid.owid_model_import import OwidImport
 
 
@@ -27,11 +28,13 @@ class OwidServiceImport:
                 file_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"')
                 k = 0
                 for row in file_reader:
+                    date_reported = row['date'],
+                    d = OwidDateReported.create_new_object_factory(my_date_rep=date_reported)
                     o = OwidImport(
                         iso_code=row['iso_code'],
                         continent=row['continent'],
                         location=row['location'],
-                        date=row['date'],
+                        date=date_reported,
                         total_cases=row['total_cases'],
                         new_cases=row['new_cases'],
                         new_cases_smoothed=row['new_cases_smoothed'],
@@ -87,6 +90,13 @@ class OwidServiceImport:
                         hospital_beds_per_thousand=row['hospital_beds_per_thousand'],
                         life_expectancy=row['life_expectancy'],
                         human_development_index=row['human_development_index'],
+                        datum=d.datum,
+                        year=d.year,
+                        month=d.month,
+                        day_of_month=d.day_of_month,
+                        day_of_week=d.day_of_week,
+                        week_of_year=d.day_of_week,
+                        year_week=d.year_week
                     )
                     db.session.add(o)
                     k += 1
diff --git a/src/covid19/blueprints/rki_cases/rki_model_import.py b/src/covid19/blueprints/rki_cases/rki_model_import.py
index 6964f27a..13a324de 100644
--- a/src/covid19/blueprints/rki_cases/rki_model_import.py
+++ b/src/covid19/blueprints/rki_cases/rki_model_import.py
@@ -23,6 +23,14 @@ class RkiImport(db.Model):
     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)
+    # date_reported = db.Column(db.String(255), nullable=False)
+    # datum = db.Column(db.Date, nullable=False)
+    # year = db.Column(db.Integer, nullable=False)
+    # month = db.Column(db.Integer, nullable=False)
+    # day_of_month = db.Column(db.Integer, nullable=False)
+    # day_of_week = db.Column(db.Integer, nullable=False)
+    # week_of_year = db.Column(db.Integer, nullable=False)
+    # year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
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 47ac63bf..5b7de89a 100644
--- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py
+++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_model_import.py
@@ -5,7 +5,6 @@ class RkiVaccinationImport(db.Model):
     __tablename__ = 'application__import__rki_vaccination'
 
     id = db.Column(db.Integer, primary_key=True)
-    datum = db.Column(db.String(255), nullable=False)
     dosen_kumulativ = db.Column(db.Integer, nullable=False)
     dosen_differenz_zum_vortag = db.Column(db.Integer, nullable=False)
     dosen_biontech_kumulativ = db.Column(db.Integer, nullable=False)
@@ -26,6 +25,14 @@ class RkiVaccinationImport(db.Model):
     indikation_beruf_voll = db.Column(db.Integer, nullable=False)
     indikation_medizinisch_voll = db.Column(db.Integer, nullable=False)
     indikation_pflegeheim_voll = db.Column(db.Integer, nullable=False)
+    date_reported = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_import.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_import.py
index ba7a61a2..44966df6 100644
--- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_import.py
+++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service_import.py
@@ -2,6 +2,8 @@ import csv
 import psycopg2
 
 from database import db, app
+
+from covid19.blueprints.rki_vaccination.rki_vaccination_model import RkiVaccinationDateReported
 from covid19.blueprints.rki_vaccination.rki_vaccination_model_import import RkiVaccinationImport
 from covid19.blueprints.app_all.all_service_config import ApplicationServiceConfig
 
@@ -34,8 +36,9 @@ class RkiVaccinationServiceImport:
             with open(src_cvsfile_name, newline='\n') as csv_file:
                 file_reader = csv.DictReader(csv_file, delimiter='\t', quotechar='"')
                 for row in file_reader:
+                    date_reported = row['date']
+                    d = RkiVaccinationDateReported.create_new_object_factory(my_date_rep=date_reported)
                     o = RkiVaccinationImport(
-                        datum=row['date'],
                         dosen_kumulativ=self.__int(row['dosen_kumulativ']),
                         dosen_differenz_zum_vortag=self.__int(row['dosen_differenz_zum_vortag']),
                         dosen_biontech_kumulativ=self.__int(row['dosen_biontech_kumulativ']),
@@ -55,7 +58,15 @@ class RkiVaccinationServiceImport:
                         indikation_alter_voll=self.__int(row['indikation_alter_voll']),
                         indikation_beruf_voll=self.__int(row['indikation_beruf_voll']),
                         indikation_medizinisch_voll=self.__int(row['indikation_medizinisch_voll']),
-                        indikation_pflegeheim_voll=self.__int(row['indikation_pflegeheim_voll'])
+                        indikation_pflegeheim_voll=self.__int(row['indikation_pflegeheim_voll']),
+                        date_reported=date_reported,
+                        datum=d.datum,
+                        year=d.year,
+                        month=d.month,
+                        day_of_month=d.day_of_month,
+                        day_of_week=d.day_of_week,
+                        week_of_year=d.day_of_week,
+                        year_week=d.year_week
                     )
                     db.session.add(o)
                     k += 1
diff --git a/src/covid19/blueprints/who/who_model_import.py b/src/covid19/blueprints/who/who_model_import.py
index 4db10ce7..ac099e8d 100644
--- a/src/covid19/blueprints/who/who_model_import.py
+++ b/src/covid19/blueprints/who/who_model_import.py
@@ -1,19 +1,25 @@
 from sqlalchemy.orm import Bundle
 from database import db, ITEMS_PER_PAGE
 
-
 class WhoImport(db.Model):
     __tablename__ = 'application__import__who'
 
     id = db.Column(db.Integer, primary_key=True)
-    date_reported = db.Column(db.String(255), nullable=False)
-    country_code = db.Column(db.String(255), nullable=False)
-    country = db.Column(db.String(255), nullable=False)
-    who_region = db.Column(db.String(255), nullable=False)
     new_cases = db.Column(db.String(255), nullable=False)
     cumulative_cases = db.Column(db.String(255), nullable=False)
     new_deaths = db.Column(db.String(255), nullable=False)
     cumulative_deaths = db.Column(db.String(255), nullable=False)
+    country_code = db.Column(db.String(255), nullable=False)
+    country = db.Column(db.String(255), nullable=False)
+    who_region = db.Column(db.String(255), nullable=False)
+    date_reported = db.Column(db.String(255), nullable=False)
+    datum = db.Column(db.Date, nullable=False)
+    year = db.Column(db.Integer, nullable=False)
+    month = db.Column(db.Integer, nullable=False)
+    day_of_month = db.Column(db.Integer, nullable=False)
+    day_of_week = db.Column(db.Integer, nullable=False)
+    week_of_year = db.Column(db.Integer, nullable=False)
+    year_week = db.Column(db.String(255), nullable=False)
 
     @classmethod
     def remove_all(cls):
diff --git a/src/covid19/blueprints/who/who_service_import.py b/src/covid19/blueprints/who/who_service_import.py
index 03c0041f..2e30a877 100644
--- a/src/covid19/blueprints/who/who_service_import.py
+++ b/src/covid19/blueprints/who/who_service_import.py
@@ -2,6 +2,7 @@ import sys
 import csv
 import psycopg2
 from database import db, app
+from covid19.blueprints.who.who_model import WhoDateReported
 from covid19.blueprints.who.who_model_import import WhoImport
 from covid19.blueprints.app_all.all_service_config import ApplicationServiceConfig
 
@@ -32,15 +33,24 @@ class WhoServiceImport:
                 file_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"')
                 k = 0
                 for row in file_reader:
+                    date_reported = row[keyDate_reported]
+                    d = WhoDateReported.create_new_object_factory(my_date_rep=date_reported)
                     o = WhoImport(
-                        date_reported=row[keyDate_reported],
-                        country_code=row['Country_code'],
-                        country=row['Country'],
-                        who_region=row['WHO_region'],
                         new_cases=row['New_cases'],
                         cumulative_cases=row['Cumulative_cases'],
                         new_deaths=row['New_deaths'],
-                        cumulative_deaths=row['Cumulative_deaths']
+                        cumulative_deaths=row['Cumulative_deaths'],
+                        country_code=row['Country_code'],
+                        country=row['Country'],
+                        who_region=row['WHO_region'],
+                        date_reported=row[keyDate_reported],
+                        datum=d.datum,
+                        year=d.year,
+                        month=d.month,
+                        day_of_month=d.day_of_month,
+                        day_of_week=d.day_of_week,
+                        week_of_year=d.day_of_week,
+                        year_week=d.year_week
                     )
                     db.session.add(o)
                     k += 1
-- 
GitLab