diff --git a/src/covid19/blueprints/ecdc/ecdc_model_import.py b/src/covid19/blueprints/ecdc/ecdc_model_import.py index 20d1afa71caef2c1f074e26cf39f68905404e91d..4eafae3c220e88e091f23d7b8475960223223a59 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 6ef120599d59a0c6c701c52d6c5c8867cc81d2ea..6c19fca07733dfac733b30b7b43db5813857fb13 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 3e9b20903ca3f4b0859de53d1aff2f695ddc9fde..a187a3d1833033737034cbb37d533ab0d812fabf 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 2f3954403ef3a91af3c36fab35b30790050459a7..66f06de3b1757a236be0232dbdd694405eff617d 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 6964f27ae01135d68d70cefa3245ad067781c9c3..13a324ded1f3e786f77e0c2770e96525b740d76c 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 47ac63bf9b132d298e5e941af40effe6b67eb073..5b7de89a0e9845986ad8e788cee54b52f62f97db 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 ba7a61a2782d58e3b688d8f2678b67e8b4881a0b..44966df6b047df51763b900546b16d37027d49b1 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 4db10ce746df9cd7ec2f45a164d92e086910ee9d..ac099e8d29537de09be5a38c557290d2a939eb7b 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 03c0041f3121ae8f5d4495b91b5c87b62d12ac91..2e30a87740ff6cbcb02ae11a93ae0ce35de9567c 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