Skip to content
Snippets Groups Projects
Commit 75b277f0 authored by thomaswoehlke's avatar thomaswoehlke
Browse files

working on: 0.0.34 Release

parent 91198dc5
No related branches found
No related tags found
No related merge requests found
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all {
entity AllDateReported {
package covid19.blueprints.all.model {
interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -19,19 +22,27 @@ package covid19.blueprints.all { ...@@ -19,19 +22,27 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity AllLocationGroup { interface AllDateReported {
id: Integer id: Integer
location_group: String date_reported: String
{classifier} remove_all() year_week: String
{classifier} get_all_as_page(page: Integer) datum: Date
{classifier} get_all() year: Integer
{classifier} get_all_as_dict() month: Integer
{classifier} get_by_id(other_id: Integer) day_of_month: Integer
{classifier} find_by_id(other_id: Integer) day_of_week: Integer
week_of_year: Integer
get_name_for_weekday()
{classifier} get_names_for_weekday()
{classifier} get_datum_parts(my_date_rep: String)
{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String)
} }
entity AllLocation { interface AllLocationGroup {
id: Integer id: Integer
location: String continent: String
{classifier} remove_all() {classifier} remove_all()
{classifier} get_all_as_page(page: Integer) {classifier} get_all_as_page(page: Integer)
{classifier} get_all() {classifier} get_all()
...@@ -39,67 +50,69 @@ package covid19.blueprints.all { ...@@ -39,67 +50,69 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
entity AllData { interface AllLocation {
id: Integer id: Integer
{classifier} remove_all() }
{classifier} get_all_as_page(page: Integer) interface AllData {
{classifier} get_all() id: Integer
{classifier} get_all_as_dict() }
{classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) interface AllImportFull {
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
}
interface AllImportIncrement {
{classifier} download_file()
{classifier} import_file()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
} }
entity RkiDateReported {
interface AllImport {
datum_reported: Date
location: String
location_group: String
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
}
interface AllFlat {
id: Integer id: Integer
date_reported: String datum_reported: Date
year_week: String
datum: Date
year: Integer year: Integer
month: Integer month: Integer
day_of_month: Integer day_of_month: Integer
day_of_year: Integer
day_of_week: Integer day_of_week: Integer
week_of_year: Integer week_of_year: Integer
get_name_for_weekday() year_week: String
{classifier} get_names_for_weekday() day_of_week_str: String
{classifier} get_datum_parts(my_date_rep: String) month_str: String
{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer) location: String
{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer) location_group: String
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} import_file_flat()
{classifier} create_new_object_factory(my_date_rep: String) {classifier} get_years(): Integer[]
} {classifier} get_days(): Date[]
class ApplicationPage << (T,#FF7700) Transient >> { {classifier} get_days_for_year(year: Integer): Date[]
title: String {classifier} get_location_groups(): String[]
subtitle: String {classifier} get_locations_for_location_group(location_group: String): String[]
subtitle_info: String {classifier} get_data_for_location(location: String): AllFlat[]
} {classifier} get_data_for_day(datum_reported: Date): AllFlat[]
class ApplicationServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer
data_path: String
slug: String
category: String
sub_category: String
tablename: String
cvsfile_name: String
url_src: String
cvsfile_path: String
msg_job: String
msg_ok: String
msg_error: String
create_config_for_who()
create_config_for_rki_vaccination()
create_config_for_owid()
create_config_for_ecdc()
create_config_for_rki_bundeslaender()
create_config_for_rki_landkreise()
}
class ApplicationServiceDownload << (S,red) Service >> {
-log_error()
-log_success()
-prepare_download()
-download_with_wget()
-download_with_subprocess_and_os_native_wget()
download_file()
} }
} }
package . { package . {
class database << (S,#FF7700) Singleton >> { class database << (S,#FF7700) Singleton >> {
{static} int port {static} int port
...@@ -125,6 +138,7 @@ package . { ...@@ -125,6 +138,7 @@ package . {
url_root() url_root()
} }
} }
package covid19.blueprints.all { package covid19.blueprints.all {
class application_services << (P,yellow) Proxy >> { class application_services << (P,yellow) Proxy >> {
......
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all { package covid19.blueprints.all.model {
entity ApplicationDateReported { interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -21,7 +21,7 @@ package covid19.blueprints.all { ...@@ -21,7 +21,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationDateReported { interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -39,7 +39,7 @@ package covid19.blueprints.all { ...@@ -39,7 +39,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationRegion { interface AllLocationGroup {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -49,33 +49,11 @@ package covid19.blueprints.all { ...@@ -49,33 +49,11 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { interface AllLocation {
-log_error() id: Integer
-log_success() }
-prepare_download() interface AllData {
-download_with_wget() id: Integer
-download_with_subprocess_and_os_native_wget()
download_file()
}
class ApplicationServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer
data_path: String
slug: String
category: String
sub_category: String
tablename: String
cvsfile_name: String
url_src: String
cvsfile_path: String
msg_job: String
msg_ok: String
msg_error: String
create_config_for_who()
create_config_for_rki_vaccination()
create_config_for_owid()
create_config_for_ecdc()
create_config_for_rki_bundeslaender()
create_config_for_rki_landkreise()
} }
interface AllImportFull { interface AllImportFull {
...@@ -85,6 +63,7 @@ package covid19.blueprints.all { ...@@ -85,6 +63,7 @@ package covid19.blueprints.all {
{classifier} full_update_fact_table() {classifier} full_update_fact_table()
{classifier} full_update_star_schema() {classifier} full_update_star_schema()
} }
interface AllImportIncrement { interface AllImportIncrement {
{classifier} download_file() {classifier} download_file()
{classifier} import_file() {classifier} import_file()
...@@ -92,7 +71,8 @@ package covid19.blueprints.all { ...@@ -92,7 +71,8 @@ package covid19.blueprints.all {
{classifier} update_fact_table() {classifier} update_fact_table()
{classifier} update_star_schema() {classifier} update_star_schema()
} }
interface DataImport {
interface AllImport {
datum_reported: Date datum_reported: Date
location: String location: String
location_group: String location_group: String
...@@ -105,6 +85,7 @@ package covid19.blueprints.all { ...@@ -105,6 +85,7 @@ package covid19.blueprints.all {
{classifier} update_fact_table() {classifier} update_fact_table()
{classifier} update_star_schema() {classifier} update_star_schema()
} }
interface AllFlat { interface AllFlat {
id: Integer id: Integer
datum_reported: Date datum_reported: Date
......
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all { package covid19.blueprints.all.model {
entity ApplicationDateReported { entity AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -21,7 +21,7 @@ package covid19.blueprints.all { ...@@ -21,7 +21,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationRegion { entity AllLocationGroup {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -31,7 +31,7 @@ package covid19.blueprints.all { ...@@ -31,7 +31,7 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { class AllServiceDownload << (S,red) Service >> {
-log_error() -log_error()
-log_success() -log_success()
-prepare_download() -prepare_download()
...@@ -39,7 +39,7 @@ package covid19.blueprints.all { ...@@ -39,7 +39,7 @@ package covid19.blueprints.all {
-download_with_subprocess_and_os_native_wget() -download_with_subprocess_and_os_native_wget()
download_file() download_file()
} }
class ApplicationServiceConfig << (T,#FF7700) Transient >> { class AllServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer limit_nr: Integer
data_path: String data_path: String
slug: String slug: String
...@@ -76,7 +76,7 @@ package covid19.blueprints.all { ...@@ -76,7 +76,7 @@ package covid19.blueprints.all {
{classifier} update_star_schema() {classifier} update_star_schema()
} }
interface DataImport { interface AllImport {
datum_reported: Date datum_reported: Date
location: String location: String
location_group: String location_group: String
...@@ -115,7 +115,8 @@ package covid19.blueprints.all { ...@@ -115,7 +115,8 @@ package covid19.blueprints.all {
} }
} }
package covid19.blueprints.owid { package covid19.blueprints.owid.model {
entity OwidImport { entity OwidImport {
id: Integer id: Integer
iso_code: String iso_code: String
...@@ -375,6 +376,9 @@ package covid19.blueprints.owid { ...@@ -375,6 +376,9 @@ package covid19.blueprints.owid {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
}
package covid19.blueprints.owid.service {
class OwidServiceImport << (S,red) Service >> { class OwidServiceImport << (S,red) Service >> {
import_file() import_file()
} }
...@@ -417,6 +421,9 @@ package covid19.blueprints.owid { ...@@ -417,6 +421,9 @@ package covid19.blueprints.owid {
update_fact_table_initial_only() update_fact_table_initial_only()
update_fact_table_incremental_only() update_fact_table_incremental_only()
} }
}
package covid19.blueprints.owid.views {
class owid_views_frontend << (B,orchid) Boundary >> { class owid_views_frontend << (B,orchid) Boundary >> {
url_owid_info() url_owid_info()
url_owid_tasks() url_owid_tasks()
...@@ -454,29 +461,29 @@ OwidServiceUpdateBase : SQLAlchemy database ...@@ -454,29 +461,29 @@ OwidServiceUpdateBase : SQLAlchemy database
OwidServiceUpdateFull : SQLAlchemy database OwidServiceUpdateFull : SQLAlchemy database
OwidServiceUpdate : SQLAlchemy database OwidServiceUpdate : SQLAlchemy database
OwidService : SQLAlchemy database OwidService : SQLAlchemy database
ApplicationServiceDownload : SQLAlchemy database AllServiceDownload : SQLAlchemy database
OwidServiceUpdateFull <|-- OwidServiceUpdateBase OwidServiceUpdateFull <|-- OwidServiceUpdateBase
OwidServiceUpdate <|-- OwidServiceUpdateBase OwidServiceUpdate <|-- OwidServiceUpdateBase
ApplicationDateReported <|-- OwidDateReported AllDateReported <|-- OwidDateReported
ApplicationRegion <|-- OwidContinent AllLocationGroup <|-- OwidContinent
OwidCountry "1" *--> "*" OwidContinent : region OwidCountry "1" *--> "*" OwidContinent : region
OwidData "1" *--> "*" OwidCountry : country OwidData "1" *--> "*" OwidCountry : country
OwidData "1" *--> "*" OwidDateReported : date_reported OwidData "1" *--> "*" OwidDateReported : date_reported
OwidService "*" *--> "1" ApplicationServiceConfig : cfg OwidService "*" *--> "1" AllServiceConfig : cfg
OwidServiceImport "*" --> "1" ApplicationServiceConfig : cfg OwidServiceImport "*" --> "1" AllServiceConfig : cfg
OwidServiceUpdate "*" --> "1" ApplicationServiceConfig : cfg OwidServiceUpdate "*" --> "1" AllServiceConfig : cfg
ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig : cfg AllServiceDownload "*" --> "1" AllServiceConfig : cfg
OwidService "1" *--> "1" OwidServiceImport : owid_service_import OwidService "1" *--> "1" OwidServiceImport : owid_service_import
OwidService "1" *--> "1" OwidServiceUpdate : owid_service_update OwidService "1" *--> "1" OwidServiceUpdate : owid_service_update
OwidService "1" *--> "1" OwidServiceUpdateFull : owid_service_update OwidService "1" *--> "1" OwidServiceUpdateFull : owid_service_update
OwidService "1" *--> "1" ApplicationServiceDownload : service_download OwidService "1" *--> "1" AllServiceDownload : service_download
owid_views_frontend "1" --> "1" OwidService : owid_service owid_views_frontend "1" --> "1" OwidService : owid_service
owid_views_for_tasks "1" --> "1" OwidService : owid_service owid_views_for_tasks "1" --> "1" OwidService : owid_service
owid_celery_tasks "1" --> "1" OwidService : owid_service owid_celery_tasks "1" --> "1" OwidService : owid_service
AllImportFull <|-- DataImport AllImportFull <|-- AllImport
AllImportIncrement <|-- DataImport AllImportIncrement <|-- AllImport
DataImport <|-- AllFlat AllImport <|-- AllFlat
DataImport <|-- OwidImport AllImport <|-- OwidImport
AllFlat <|-- OwidFlat AllFlat <|-- OwidFlat
OwidImport <|-- OwidFlat OwidImport <|-- OwidFlat
@enduml @enduml
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all {
entity ApplicationDateReported { package covid19.blueprints.all.model {
interface AllDateReported {
id: Integer
date_reported: String
year_week: String
datum: Date
year: Integer
month: Integer
day_of_month: Integer
day_of_week: Integer
week_of_year: Integer
get_name_for_weekday()
{classifier} get_names_for_weekday()
{classifier} get_datum_parts(my_date_rep: String)
{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String)
}
interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -21,7 +40,7 @@ package covid19.blueprints.all { ...@@ -21,7 +40,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationRegion { interface AllLocationGroup {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -31,33 +50,11 @@ package covid19.blueprints.all { ...@@ -31,33 +50,11 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { interface AllLocation {
-log_error() id: Integer
-log_success() }
-prepare_download() interface AllData {
-download_with_wget() id: Integer
-download_with_subprocess_and_os_native_wget()
download_file()
}
class ApplicationServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer
data_path: String
slug: String
category: String
sub_category: String
tablename: String
cvsfile_name: String
url_src: String
cvsfile_path: String
msg_job: String
msg_ok: String
msg_error: String
create_config_for_who()
create_config_for_rki_vaccination()
create_config_for_owid()
create_config_for_ecdc()
create_config_for_rki_bundeslaender()
create_config_for_rki_landkreise()
} }
interface AllImportFull { interface AllImportFull {
...@@ -76,7 +73,7 @@ package covid19.blueprints.all { ...@@ -76,7 +73,7 @@ package covid19.blueprints.all {
{classifier} update_star_schema() {classifier} update_star_schema()
} }
interface DataImport { interface AllImport {
datum_reported: Date datum_reported: Date
location: String location: String
location_group: String location_group: String
...@@ -115,6 +112,7 @@ package covid19.blueprints.all { ...@@ -115,6 +112,7 @@ package covid19.blueprints.all {
} }
} }
package covid19.blueprints.owid { package covid19.blueprints.owid {
entity OwidImport { entity OwidImport {
id: Integer id: Integer
......
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all { package covid19.blueprints.all.model {
interface ApplicationDateReported { interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -21,7 +21,25 @@ package covid19.blueprints.all { ...@@ -21,7 +21,25 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
interface ApplicationRegion { interface AllDateReported {
id: Integer
date_reported: String
year_week: String
datum: Date
year: Integer
month: Integer
day_of_month: Integer
day_of_week: Integer
week_of_year: Integer
get_name_for_weekday()
{classifier} get_names_for_weekday()
{classifier} get_datum_parts(my_date_rep: String)
{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer)
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String)
}
interface AllLocationGroup {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -31,33 +49,11 @@ package covid19.blueprints.all { ...@@ -31,33 +49,11 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { interface AllLocation {
-log_error() id: Integer
-log_success() }
-prepare_download() interface AllData {
-download_with_wget() id: Integer
-download_with_subprocess_and_os_native_wget()
download_file()
}
class ApplicationServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer
data_path: String
slug: String
category: String
sub_category: String
tablename: String
cvsfile_name: String
url_src: String
cvsfile_path: String
msg_job: String
msg_ok: String
msg_error: String
create_config_for_who()
create_config_for_rki_vaccination()
create_config_for_owid()
create_config_for_ecdc()
create_config_for_rki_bundeslaender()
create_config_for_rki_landkreise()
} }
interface AllImportFull { interface AllImportFull {
...@@ -76,7 +72,7 @@ package covid19.blueprints.all { ...@@ -76,7 +72,7 @@ package covid19.blueprints.all {
{classifier} update_star_schema() {classifier} update_star_schema()
} }
interface DataImport { interface AllImport {
datum_reported: Date datum_reported: Date
location: String location: String
location_group: String location_group: String
...@@ -114,7 +110,9 @@ package covid19.blueprints.all { ...@@ -114,7 +110,9 @@ package covid19.blueprints.all {
{classifier} get_data_for_day(datum_reported: Date): AllFlat[] {classifier} get_data_for_day(datum_reported: Date): AllFlat[]
} }
} }
package covid19.blueprints.rki_cases {
package covid19.blueprints.rki_cases.model {
entity RkiImport { entity RkiImport {
id: Integer id: Integer
...@@ -255,6 +253,15 @@ package covid19.blueprints.rki_cases { ...@@ -255,6 +253,15 @@ package covid19.blueprints.rki_cases {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
}
package covid19.blueprints.all.service {
class AllServiceConfig {}
class AllServiceDownload {}
}
package covid19.blueprints.rki_cases.service {
class RkiServiceImport << (S,red) Service >> { class RkiServiceImport << (S,red) Service >> {
import_file() import_file()
} }
...@@ -297,6 +304,10 @@ package covid19.blueprints.rki_cases { ...@@ -297,6 +304,10 @@ package covid19.blueprints.rki_cases {
update_fact_table_initial_only() update_fact_table_initial_only()
update_fact_table_incremental_only() update_fact_table_incremental_only()
} }
}
package covid19.blueprints.rki_cases.views {
class rki_cases_views_frontend << (B,orchid) Boundary >> { class rki_cases_views_frontend << (B,orchid) Boundary >> {
url_get_import() url_get_import()
url_get_flat() url_get_flat()
...@@ -322,33 +333,44 @@ package covid19.blueprints.rki_cases { ...@@ -322,33 +333,44 @@ package covid19.blueprints.rki_cases {
task_update_star_schema() task_update_star_schema()
} }
} }
AllImportFull <|-- AllImport
AllImportIncrement <|-- AllImport
AllImport <|-- AllFlat
AllFlat <|-- RkiFlat
AllImport <|-- RkiImport
RkiImport <|-- RkiFlat
AllDateReported <|-- RkiMeldedatum
AllLocationGroup <|-- RkiBundesland
AllLocation <|-- RkiLandkreis
AllData <|-- RkiData
RkiLandkreis "1" *--> "*" RkiBundesland : bundesland
RkiData "1" *--> "*" RkiLandkreis : landkreis
RkiData "1" *--> "*" RkiMeldedatum : meldedatum
RkiServiceUpdateBase <|-- RkiServiceUpdateFull
RkiServiceUpdateBase <|-- RkiServiceUpdate
AllServiceDownload : SQLAlchemy database
RkiServiceImport : SQLAlchemy database RkiServiceImport : SQLAlchemy database
RkiServiceUpdateBase : SQLAlchemy database RkiServiceUpdateBase : SQLAlchemy database
RkiServiceUpdateFull : SQLAlchemy database RkiServiceUpdateFull : SQLAlchemy database
RkiServiceUpdate : SQLAlchemy database RkiServiceUpdate : SQLAlchemy database
RkiService : SQLAlchemy database RkiService : SQLAlchemy database
ApplicationServiceDownload : SQLAlchemy database
RkiServiceUpdateBase <|-- RkiServiceUpdateFull RkiService "*" *--> "1" AllServiceConfig : cfg
RkiServiceUpdateBase <|-- RkiServiceUpdate RkiServiceImport "*" --> "1" AllServiceConfig : cfg
ApplicationDateReported <|-- RkiMeldedatum RkiServiceUpdate "*" --> "1" AllServiceConfig : cfg
ApplicationRegion <|-- RkiBundesland AllServiceDownload "*" --> "1" AllServiceConfig : cfg
RkiLandkreis "1" *--> "*" RkiBundesland : bundesland
RkiData "1" *--> "*" RkiLandkreis : landkreis
RkiData "1" *--> "*" RkiMeldedatum : meldedatum
RkiService "*" *--> "1" ApplicationServiceConfig : cfg
RkiServiceImport "*" --> "1" ApplicationServiceConfig : cfg
RkiServiceUpdate "*" --> "1" ApplicationServiceConfig : cfg
ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig : cfg
RkiService "1" *--> "1" RkiServiceImport : rki_service_import RkiService "1" *--> "1" RkiServiceImport : rki_service_import
RkiService "1" *--> "1" RkiServiceUpdate : rki_service_update RkiService "1" *--> "1" RkiServiceUpdate : rki_service_update
RkiService "1" *--> "1" RkiServiceUpdateFull : rki_service_update RkiService "1" *--> "1" RkiServiceUpdateFull : rki_service_update
RkiService "1" *--> "1" ApplicationServiceDownload : service_download RkiService "1" *--> "1" AllServiceDownload : service_download
rki_cases_views_frontend "1" --> "1" RkiService : rki_service rki_cases_views_frontend "1" --> "1" RkiService : rki_service
rki_cases_celery_tasks "1" --> "1" RkiService : rki_service rki_cases_celery_tasks "1" --> "1" RkiService : rki_service
AllImportFull <|-- DataImport
AllImportIncrement <|-- DataImport
DataImport <|-- AllFlat
DataImport <|-- RkiImport
AllFlat <|-- RkiFlat
RkiImport <|-- RkiFlat
@enduml @enduml
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all {
entity ApplicationDateReported { package covid19.blueprints.all.model {
interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -19,25 +20,27 @@ package covid19.blueprints.all { ...@@ -19,25 +20,27 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationDateReported { interface AllLocationGroup {
id: Integer id: Integer
date_reported: String continent: String
year_week: String {classifier} remove_all()
datum: Date {classifier} get_all_as_page(page: Integer)
year: Integer {classifier} get_all()
month: Integer {classifier} get_all_as_dict()
day_of_month: Integer {classifier} get_by_id(other_id: Integer)
day_of_week: Integer {classifier} find_by_id(other_id: Integer)
week_of_year: Integer }
get_name_for_weekday() interface AllLocation {
{classifier} get_names_for_weekday() id: Integer
{classifier} get_datum_parts(my_date_rep: String) continent: String
{classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer) {classifier} remove_all()
{classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer) {classifier} get_all_as_page(page: Integer)
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} get_all()
{classifier} create_new_object_factory(my_date_rep: String) {classifier} get_all_as_dict()
{classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer)
} }
entity ApplicationRegion { interface AllData {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -47,7 +50,65 @@ package covid19.blueprints.all { ...@@ -47,7 +50,65 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { }
package covid19.blueprints.all.model_import {
interface AllImportFull {
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
}
interface AllImportIncrement {
{classifier} download_file()
{classifier} import_file()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
}
interface AllImport {
datum_reported: Date
location: String
location_group: String
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
}
interface AllFlat {
id: Integer
datum_reported: Date
year: Integer
month: Integer
day_of_month: Integer
day_of_year: Integer
day_of_week: Integer
week_of_year: Integer
year_week: String
day_of_week_str: String
month_str: String
location: String
location_group: String
{classifier} import_file_flat()
{classifier} get_years(): Integer[]
{classifier} get_days(): Date[]
{classifier} get_days_for_year(year: Integer): Date[]
{classifier} get_location_groups(): String[]
{classifier} get_locations_for_location_group(location_group: String): String[]
{classifier} get_data_for_location(location: String): AllFlat[]
{classifier} get_data_for_day(datum_reported: Date): AllFlat[]
}
}
package covid19.blueprints.all.service {
class AllServiceDownload << (S,red) Service >> {
-log_error() -log_error()
-log_success() -log_success()
-prepare_download() -prepare_download()
...@@ -55,7 +116,7 @@ package covid19.blueprints.all { ...@@ -55,7 +116,7 @@ package covid19.blueprints.all {
-download_with_subprocess_and_os_native_wget() -download_with_subprocess_and_os_native_wget()
download_file() download_file()
} }
class ApplicationServiceConfig << (T,#FF7700) Transient >> { class AllServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer limit_nr: Integer
data_path: String data_path: String
slug: String slug: String
...@@ -76,7 +137,8 @@ package covid19.blueprints.all { ...@@ -76,7 +137,8 @@ package covid19.blueprints.all {
create_config_for_rki_landkreise() create_config_for_rki_landkreise()
} }
} }
package covid19.blueprints.who {
package covid19.blueprints.who.model {
entity WhoDateReported { entity WhoDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
...@@ -91,12 +153,12 @@ package covid19.blueprints.who { ...@@ -91,12 +153,12 @@ package covid19.blueprints.who {
} }
entity WhoCountryRegion { entity WhoCountryRegion {
id: Integer id: Integer
region: String location_group: String
} }
entity WhoCountry { entity WhoCountry {
id: Integer id: Integer
country_code: String country_code: String
country: String location: String
{classifier} remove_all() {classifier} remove_all()
{classifier} get_all_as_page(page: Integer) {classifier} get_all_as_page(page: Integer)
{classifier} get_all() {classifier} get_all()
...@@ -132,6 +194,8 @@ package covid19.blueprints.who { ...@@ -132,6 +194,8 @@ package covid19.blueprints.who {
{classifier} get_data_for_country_order_by_deaths_new(who_country, page) {classifier} get_data_for_country_order_by_deaths_new(who_country, page)
{classifier} get_data_for_country_order_by_deaths_cumulative(who_country, page) {classifier} get_data_for_country_order_by_deaths_cumulative(who_country, page)
} }
}
package covid19.blueprints.who.model_import {
entity WhoImport { entity WhoImport {
id: Integer id: Integer
date_reported: String date_reported: String
...@@ -192,6 +256,8 @@ package covid19.blueprints.who { ...@@ -192,6 +256,8 @@ package covid19.blueprints.who {
{classifier} get_data_for_location(location: String): WhoFlat[] {classifier} get_data_for_location(location: String): WhoFlat[]
{classifier} get_data_for_day(datum_reported: Date): WhoFlat[] {classifier} get_data_for_day(datum_reported: Date): WhoFlat[]
} }
}
package covid19.blueprints.who.service {
class WhoService << (S,red) Service >> { class WhoService << (S,red) Service >> {
database_drop_create_pretask() database_drop_create_pretask()
database_drop_create_posttask() database_drop_create_posttask()
...@@ -224,6 +290,8 @@ package covid19.blueprints.who { ...@@ -224,6 +290,8 @@ package covid19.blueprints.who {
update_star_schema() update_star_schema()
-who_import_get_new_dates_as_array() -who_import_get_new_dates_as_array()
} }
}
package covid19.blueprints.who.views {
class who_views_frontend << (B,orchid) Boundary >> { class who_views_frontend << (B,orchid) Boundary >> {
url_root() url_root()
url_home() url_home()
...@@ -272,22 +340,50 @@ WhoServiceUpdateBase : SQLAlchemy database ...@@ -272,22 +340,50 @@ WhoServiceUpdateBase : SQLAlchemy database
WhoServiceUpdateFull <|-- WhoServiceUpdateBase WhoServiceUpdateFull <|-- WhoServiceUpdateBase
WhoServiceUpdate <|-- WhoServiceUpdateBase WhoServiceUpdate <|-- WhoServiceUpdateBase
WhoService : SQLAlchemy database WhoService : SQLAlchemy database
ApplicationServiceDownload : SQLAlchemy database AllServiceDownload : SQLAlchemy database
ApplicationDateReported <|-- WhoDateReported
ApplicationRegion <|-- WhoCountryRegion AllDateReported <|-- WhoDateReported
WhoCountry "1" *--> "*" WhoCountryRegion : region AllLocationGroup <|-- WhoCountryRegion
WhoData "1" *--> "*" WhoCountry : country AllLocation <|-- WhoCountry
AllData <|-- WhoData
WhoData "1" *--> "*" WhoDateReported : date_reported WhoData "1" *--> "*" WhoDateReported : date_reported
WhoService "*" *--> "1" ApplicationServiceConfig : cfg WhoCountry "1" *--> "*" WhoCountryRegion : location_group
WhoServiceImport "*" --> "1" ApplicationServiceConfig : cfg WhoData "1" *--> "*" WhoCountry : location
WhoServiceUpdate "*" --> "1" ApplicationServiceConfig : cfg
WhoServiceUpdateFull "*" --> "1" ApplicationServiceConfig : cfg WhoService "*" *--> "1" AllServiceConfig : cfg
ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig : cfg WhoServiceImport "*" --> "1" AllServiceConfig : cfg
WhoServiceUpdate "*" --> "1" AllServiceConfig : cfg
WhoServiceUpdateFull "*" --> "1" AllServiceConfig : cfg
AllServiceDownload "*" --> "1" AllServiceConfig : cfg
WhoService "1" *--> "1" WhoServiceImport : service_import WhoService "1" *--> "1" WhoServiceImport : service_import
WhoService "1" *--> "1" WhoServiceUpdate : service_update WhoService "1" *--> "1" WhoServiceUpdate : service_update
WhoService "1" *--> "1" WhoServiceUpdateFull : service_update_full WhoService "1" *--> "1" WhoServiceUpdateFull : service_update_full
WhoService "1" *--> "1" ApplicationServiceDownload : service_download WhoService "1" *--> "1" AllServiceDownload : service_download
who_views_frontend "1" --> "1" WhoService : who_service who_views_frontend "1" --> "1" WhoService : who_service
who_views_for_tasks "1" --> "1" WhoService : who_service who_views_for_tasks "1" --> "1" WhoService : who_service
who_celery_tasks "1" --> "1" WhoService : who_service who_celery_tasks "1" --> "1" WhoService : who_service
AllImportFull <|-- AllImport
AllImportIncrement <|-- AllImport
AllImport <|-- AllFlat
AllImport <|-- WhoImport
AllImport <|-- EcdcImport
AllImport <|-- RkiVaccinationImport
AllImport <|-- RkiImport
AllImport <|-- OwidImport
AllFlat <|-- WhoFlat
AllFlat <|-- EcdcFlat
AllFlat <|-- RkiVaccinationFlat
AllFlat <|-- RkiFlat
AllFlat <|-- OwidFlat
WhoImport <|-- WhoFlat
EcdcImport <|-- EcdcFlat
RkiVaccinationImport <|-- RkiVaccinationFlat
RkiImport <|-- RkiFlat
OwidImport <|-- OwidFlat
@enduml @enduml
@startuml @startuml
left to right direction left to right direction
package covid19.blueprints.all { package covid19.blueprints.all.model {
entity ApplicationDateReported {
interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -19,7 +20,7 @@ package covid19.blueprints.all { ...@@ -19,7 +20,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationDateReported { interface AllDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
year_week: String year_week: String
...@@ -37,7 +38,7 @@ package covid19.blueprints.all { ...@@ -37,7 +38,7 @@ package covid19.blueprints.all {
{classifier} my_year_week(my_iso_year: Integer, week_number: Integer) {classifier} my_year_week(my_iso_year: Integer, week_number: Integer)
{classifier} create_new_object_factory(my_date_rep: String) {classifier} create_new_object_factory(my_date_rep: String)
} }
entity ApplicationRegion { interface AllLocationGroup {
id: Integer id: Integer
continent: String continent: String
{classifier} remove_all() {classifier} remove_all()
...@@ -47,7 +48,71 @@ package covid19.blueprints.all { ...@@ -47,7 +48,71 @@ package covid19.blueprints.all {
{classifier} get_by_id(other_id: Integer) {classifier} get_by_id(other_id: Integer)
{classifier} find_by_id(other_id: Integer) {classifier} find_by_id(other_id: Integer)
} }
class ApplicationServiceDownload << (S,red) Service >> { interface AllLocation {
id: Integer
}
interface AllData {
id: Integer
}
interface AllImportFull {
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
}
interface AllImportIncrement {
{classifier} download_file()
{classifier} import_file()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
}
interface AllImport {
datum_reported: Date
location: String
location_group: String
{classifier} download_file()
{classifier} import_file()
{classifier} full_update_dimension_tables()
{classifier} full_update_fact_table()
{classifier} full_update_star_schema()
{classifier} update_dimension_tables()
{classifier} update_fact_table()
{classifier} update_star_schema()
}
interface AllFlat {
id: Integer
datum_reported: Date
year: Integer
month: Integer
day_of_month: Integer
day_of_year: Integer
day_of_week: Integer
week_of_year: Integer
year_week: String
day_of_week_str: String
month_str: String
location: String
location_group: String
{classifier} import_file_flat()
{classifier} get_years(): Integer[]
{classifier} get_days(): Date[]
{classifier} get_days_for_year(year: Integer): Date[]
{classifier} get_location_groups(): String[]
{classifier} get_locations_for_location_group(location_group: String): String[]
{classifier} get_data_for_location(location: String): AllFlat[]
{classifier} get_data_for_day(datum_reported: Date): AllFlat[]
}
}
package covid19.blueprints.all.service {
class AllServiceDownload << (S,red) Service >> {
-log_error() -log_error()
-log_success() -log_success()
-prepare_download() -prepare_download()
...@@ -55,7 +120,7 @@ package covid19.blueprints.all { ...@@ -55,7 +120,7 @@ package covid19.blueprints.all {
-download_with_subprocess_and_os_native_wget() -download_with_subprocess_and_os_native_wget()
download_file() download_file()
} }
class ApplicationServiceConfig << (T,#FF7700) Transient >> { class AllServiceConfig << (T,#FF7700) Transient >> {
limit_nr: Integer limit_nr: Integer
data_path: String data_path: String
slug: String slug: String
...@@ -76,7 +141,9 @@ package covid19.blueprints.all { ...@@ -76,7 +141,9 @@ package covid19.blueprints.all {
create_config_for_rki_landkreise() create_config_for_rki_landkreise()
} }
} }
package covid19.blueprints.who {
package covid19.blueprints.who.model {
entity WhoDateReported { entity WhoDateReported {
id: Integer id: Integer
date_reported: String date_reported: String
...@@ -192,6 +259,10 @@ package covid19.blueprints.who { ...@@ -192,6 +259,10 @@ package covid19.blueprints.who {
{classifier} get_data_for_location(location: String): WhoFlat[] {classifier} get_data_for_location(location: String): WhoFlat[]
{classifier} get_data_for_day(datum_reported: Date): WhoFlat[] {classifier} get_data_for_day(datum_reported: Date): WhoFlat[]
} }
}
package covid19.blueprints.who.service {
class WhoService << (S,red) Service >> { class WhoService << (S,red) Service >> {
database_drop_create_pretask() database_drop_create_pretask()
database_drop_create_posttask() database_drop_create_posttask()
...@@ -224,6 +295,9 @@ package covid19.blueprints.who { ...@@ -224,6 +295,9 @@ package covid19.blueprints.who {
update_star_schema() update_star_schema()
-who_import_get_new_dates_as_array() -who_import_get_new_dates_as_array()
} }
}
package covid19.blueprints.who.views {
class who_views_frontend << (B,orchid) Boundary >> { class who_views_frontend << (B,orchid) Boundary >> {
url_root() url_root()
url_home() url_home()
...@@ -267,26 +341,39 @@ package covid19.blueprints.who { ...@@ -267,26 +341,39 @@ package covid19.blueprints.who {
task_rename_src_files() task_rename_src_files()
} }
} }
WhoServiceImport : SQLAlchemy database WhoServiceImport : SQLAlchemy database
WhoServiceUpdateBase : SQLAlchemy database WhoServiceUpdateBase : SQLAlchemy database
WhoServiceUpdateFull <|-- WhoServiceUpdateBase WhoServiceUpdateFull <|-- WhoServiceUpdateBase
WhoServiceUpdate <|-- WhoServiceUpdateBase WhoServiceUpdate <|-- WhoServiceUpdateBase
WhoService : SQLAlchemy database WhoService : SQLAlchemy database
ApplicationServiceDownload : SQLAlchemy database AllServiceDownload : SQLAlchemy database
ApplicationDateReported <|-- WhoDateReported
ApplicationRegion <|-- WhoCountryRegion AllImportFull <|-- AllImport
AllImportIncrement <|-- AllImport
AllImport <|-- WhoImport
AllFlat <|-- WhoFlat
AllDateReported <|-- WhoDateReported
AllLocationGroup <|-- WhoCountryRegion
AllLocation <|-- WhoCountry
AllData <|-- WhoData
WhoCountry "1" *--> "*" WhoCountryRegion : region WhoCountry "1" *--> "*" WhoCountryRegion : region
WhoData "1" *--> "*" WhoCountry : country WhoData "1" *--> "*" WhoCountry : country
WhoData "1" *--> "*" WhoDateReported : date_reported WhoData "1" *--> "*" WhoDateReported : date_reported
WhoService "*" *--> "1" ApplicationServiceConfig : cfg
WhoServiceImport "*" --> "1" ApplicationServiceConfig : cfg WhoService "*" *--> "1" AllServiceConfig : cfg
WhoServiceUpdate "*" --> "1" ApplicationServiceConfig : cfg WhoServiceImport "*" --> "1" AllServiceConfig : cfg
WhoServiceUpdateFull "*" --> "1" ApplicationServiceConfig : cfg WhoServiceUpdate "*" --> "1" AllServiceConfig : cfg
ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig : cfg WhoServiceUpdateFull "*" --> "1" AllServiceConfig : cfg
AllServiceDownload "*" --> "1" AllServiceConfig : cfg
WhoService "1" *--> "1" WhoServiceImport : service_import WhoService "1" *--> "1" WhoServiceImport : service_import
WhoService "1" *--> "1" WhoServiceUpdate : service_update WhoService "1" *--> "1" WhoServiceUpdate : service_update
WhoService "1" *--> "1" WhoServiceUpdateFull : service_update_full WhoService "1" *--> "1" WhoServiceUpdateFull : service_update_full
WhoService "1" *--> "1" ApplicationServiceDownload : service_download WhoService "1" *--> "1" AllServiceDownload : service_download
who_views_frontend "1" --> "1" WhoService : who_service who_views_frontend "1" --> "1" WhoService : who_service
who_views_for_tasks "1" --> "1" WhoService : who_service who_views_for_tasks "1" --> "1" WhoService : who_service
who_celery_tasks "1" --> "1" WhoService : who_service who_celery_tasks "1" --> "1" WhoService : who_service
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment