Skip to content
Snippets Groups Projects
Commit 6eb75fa4 authored by thomaswoehlke's avatar thomaswoehlke
Browse files

working on: 0.0.32 Release

parent d2d3f61a
No related branches found
No related tags found
No related merge requests found
Showing
with 276 additions and 26 deletions
......@@ -12,7 +12,7 @@ from covid19.blueprints.who.who_views import app_who
from covid19.blueprints.owid.owid_views import app_owid
from covid19.blueprints.user.user_views import app_user
from covid19.blueprints.intensivregister.divi_views import app_divi
from covid19.blueprints.intensivregister_test.divi_test_views import app_divi_test
from covid19.blueprints.owid_test.owid_test_views import app_owid_test
from covid19.blueprints.who_test.who_test_views import app_who_test
......@@ -32,6 +32,8 @@ app.register_blueprint(app_divi, url_prefix='/divi')
app.register_blueprint(app_owid_test, url_prefix='/owid/test')
app.register_blueprint(app_who_test, url_prefix='/who/test')
app.register_blueprint(app_divi_test, url_prefix='/divi/test')
############################################################################################
#
......
......@@ -16,6 +16,8 @@
{% include 'who/navigation/who_navbar_dropdown.html' %}
{% include 'divi/navigation/divi_navbar_dropdown.html' %}
{% include 'ecdc/navigation/ecdc_navbar_dropdown.html' %}
{% include 'owid/navigation/owid_navbar_dropdown.html' %}
......
......@@ -12,6 +12,12 @@
WHO
</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'divi.url_divi_info') }}">
DIVI
</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'ecdc.url_ecdc_info') }}">
......
<li class="dropdown">
<a class="dropdown-toggle nav-link" data-toggle="dropdown" href="javascript:void(0)">
WHO<i class="glyphicon glyphicon-chevron-down small"></i>
DIVI<i class="glyphicon glyphicon-chevron-down small"></i>
</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_date_reported_all') }}">
WHO
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_date_reported_all') }}">
DIVI
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_germany') }}">
WHO Germany
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_germany') }}">
DIVI Germany
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_region_all') }}">
WHO Regions
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_region_all') }}">
DIVI Regions
</a>
</li>
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_date_reported_all') }}">
WHO Date Reported
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_date_reported_all') }}">
DIVI Date Reported
</a>
</li>
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_country_all') }}">
WHO Countries
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_country_all') }}">
DIVI Countries
</a>
</li>
<li>
......@@ -39,8 +39,8 @@
</li>
{% if current_user.is_authenticated %}
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_imported') }}">
WHO imported
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_imported') }}">
DIVI imported
</a>
</li>
{% endif %}
......@@ -48,14 +48,14 @@
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_info') }}">
WHO Info
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_info') }}">
DIVI Info
</a>
</li>
{% if current_user.is_authenticated %}
<li>
<a class="dropdown-item" href="{{ url_for( 'who.url_divi_tasks') }}">
WHO Tasks
<a class="dropdown-item" href="{{ url_for( 'divi.url_divi_tasks') }}">
DIVI Tasks
</a>
</li>
{% endif %}
......
......@@ -6,40 +6,40 @@
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_info') }}">WHO Info</a>
href="{{ url_for( 'divi.url_divi_info') }}">DIVI Info</a>
</li>
{% if current_user.is_authenticated %}
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_tasks') }}">WHO tasks</a>
href="{{ url_for( 'divi.url_divi_tasks') }}">DIVI tasks</a>
</li>
{% endif %}
{% if current_user.is_authenticated %}
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'divi_test.url_divi_test_tests') }}">WHO Tests</a>
href="{{ url_for( 'divi.url_divi_test_tests') }}">DIVI Tests</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_date_reported_all') }}">WHO Date Reported</a>
href="{{ url_for( 'divi.url_divi_date_reported_all') }}">DIVI Date Reported</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_germany') }}">WHO Germany</a>
href="{{ url_for( 'divi.url_divi_germany') }}">DIVI Germany</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_region_all') }}">WHO Regions</a>
href="{{ url_for( 'divi.url_divi_region_all') }}">DIVI Regions</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_country_all') }}">WHO Countries</a>
href="{{ url_for( 'divi.url_divi_country_all') }}">DIVI Countries</a>
</li>
{% if current_user.is_authenticated %}
<li class="nav-item">
<a class="nav-link"
href="{{ url_for( 'who.url_divi_imported') }}">WHO imported</a>
href="{{ url_for( 'divi.url_divi_imported') }}">DIVI imported</a>
</li>
{% endif %}
</ul>
......
from database import app
from covid19.blueprints.application.application_service_config import ApplicationServiceConfig
from covid19.blueprints.intensivregister.divi_model import DiviDateReported, DiviData
class DiviTestService:
def __init__(self, database, who_service):
app.logger.debug("------------------------------------------------------------")
app.logger.debug(" DIVI Test Service [init]")
app.logger.debug("------------------------------------------------------------")
self.__database = database
self.__service = who_service
self.cfg = ApplicationServiceConfig.create_config_for_who()
app.logger.debug("------------------------------------------------------------")
app.logger.info(" DIVI Test Service [ready]")
def delete_last_day(self):
app.logger.debug("------------------------------------------------------------")
app.logger.debug(" DiviTestService.delete_last_day() [START]")
app.logger.debug("------------------------------------------------------------")
joungest_datum_str = DiviData.get_joungest_datum()
joungest_datum = DiviDateReported.find_by_date_reported(joungest_datum_str)
app.logger.info("joungest_datum:")
app.logger.info(joungest_datum)
app.logger.info("WhoData.get_data_for_one_day(joungest_datum):")
i = 0
for data in DiviData.get_data_for_one_day(joungest_datum):
i += 1
line = " | " + str(i) + " | " + str(data.date_reported) + " | " + data.country.country + " | to be deleted"
app.logger.info(line)
app.logger.info("WhoData.delete_data_for_one_day(joungest_datum)")
DiviData.delete_data_for_one_day(joungest_datum)
app.logger.debug("------------------------------------------------------------")
app.logger.debug(" DiviTestService.delete_last_day() [DONE]")
app.logger.debug("------------------------------------------------------------")
def run_update_star_schema_incremental(self):
app.logger.debug("------------------------------------------------------------")
app.logger.debug(" DiviTestService.run_update_star_schema_incremental() [START]")
app.logger.debug("------------------------------------------------------------")
self.__service.run_update_star_schema_incremental()
app.logger.debug("------------------------------------------------------------")
app.logger.debug(" DiviTestService.run_update_star_schema_incremental() [DONE]")
app.logger.debug("------------------------------------------------------------")
from flask import render_template, redirect, url_for, flash, Blueprint
from celery import states
from celery.utils.log import get_task_logger
from flask_login import login_required
from database import app, db
from covid19.blueprints.application.application_services import divi_service
from covid19.blueprints.application.application_workers import celery
from covid19.blueprints.intensivregister.divi_model_import import DiviImport
from covid19.blueprints.intensivregister.divi_model import DiviData
from covid19.blueprints.application.application_model_transient import ApplicationPage
from covid19.blueprints.intensivregister_test.divi_test_service import DiviTestService
divi_test_service = DiviTestService(db, divi_service)
app_divi_test = Blueprint('divi_test', __name__, template_folder='templates', url_prefix='/divi/test')
# ---------------------------------------------------------------------------------------------------------------
# Url Routes Frontend
# ---------------------------------------------------------------------------------------------------------------
@app_divi_test.route('/tests')
@login_required
def url_divi_test_tests():
page_info = ApplicationPage('WHO', "Tests")
return render_template(
'divi_test/divi_tests.html',
page_info=page_info)
@app_divi_test.route('/divi_import/countries')
@login_required
def url_divi_test_divi_import_countries():
flash("url_divi_mytest - START: DiviImport.countries()")
app.logger.info("url_divi_mytest - START: DiviImport.countries()")
i = 0
for c in DiviImport.countries():
i += 1
line = " | " + str(i) + " | " + c.countries.country_code + " | " + c.countries.country + " | " + c.countries.divi_region + " | "
app.logger.info(line)
flash("url_divi_mytest - DONE: DiviImport.countries()")
return redirect(url_for('divi_test.url_divi_test_tests'))
@app_divi_test.route('/divi_import/get_new_dates_as_array')
@login_required
def url_divi_test_divi_import_get_new_dates_as_array():
app.logger.info("url_divi_mytest - DONE: DiviImport.countries()")
flash("url_divi_mytest - START: DiviImport.get_new_dates_as_array()")
app.logger.info("url_divi_mytest - START: DiviImport.get_new_dates_as_array()")
app.logger.info("DiviImport.get_new_dates_as_array():")
i = 0
for date_reported in DiviImport.get_new_dates_as_array():
i += 1
line = " | " + str(i) + " | " + date_reported + " | "
app.logger.info(line)
flash("url_divi_mytest - DONE: DiviImport.get_new_dates_as_array()")
app.logger.info("url_divi_mytest - DONE: DiviImport.get_new_dates_as_array()")
return redirect(url_for('divi_test.url_divi_test_tests'))
@app_divi_test.route('/divi_data/get_datum_of_all_divi_data')
@login_required
def url_divi_test_divi_data_get_datum_of_all_divi_data():
app.logger.info("url_divi_test_divi_data_get_datum_of_all_divi_data - DONE: DiviData.get_datum_of_all_divi_data()")
flash("url_divi_test_divi_data_get_datum_of_all_divi_data - START: DiviData.get_datum_of_all_divi_data()")
for datum in DiviData.get_datum_of_all_data():
app.logger.info(str(datum))
flash("url_divi_test_divi_data_get_datum_of_all_divi_data - DONE: DiviData.get_datum_of_all_divi_data()")
app.logger.info("url_divi_test_divi_data_get_datum_of_all_divi_data - DONE: DiviData.get_datum_of_all_divi_data()")
return redirect(url_for('divi_test.url_divi_test_tests'))
@app_divi_test.route('/divi_data/get_datum_of_all_divi_import')
@login_required
def url_divi_test_divi_data_get_datum_of_all_divi_import():
app.logger.info("url_divi_test_divi_data_get_datum_of_all_divi_import - START: DiviImport.get_datum_of_all_divi_import()")
flash("url_divi_test_divi_data_get_datum_of_all_divi_import - START: DiviImport.get_datum_of_all_divi_import()")
for datum in DiviImport.get_datum_of_all_divi_import():
app.logger.info(str(datum))
flash("url_divi_test_divi_data_get_datum_of_all_divi_import - DONE: DiviImport.get_datum_of_all_divi_import()")
app.logger.info("url_divi_test_divi_data_get_datum_of_all_divi_import - DONE: DiviImport.get_datum_of_all_divi_import()")
return redirect(url_for('divi_test.url_divi_test_tests'))
@app_divi_test.route('/divi_service/service_update/divi_import_get_new_dates_as_array')
@login_required
def url_divi_test_divi_service_divi_import_get_new_dates_as_array():
app.logger.info("url_divi_test_divi_import_get_new_dates_as_array - START: WhoService.divi_import_get_new_dates_as_array()")
flash("url_divi_test_divi_import_get_new_dates_as_array - START: WhoService.divi_import_get_new_dates_as_array()")
for datum in divi_service.service_update.divi_import_get_new_dates_as_array():
app.logger.info(str(datum))
flash("url_divi_test_divi_import_get_new_dates_as_array - DONE: WhoService.divi_import_get_new_dates_as_array()")
app.logger.info("url_divi_test_divi_import_get_new_dates_as_array - DONE: WhoService.divi_import_get_new_dates_as_array()")
return redirect(url_for('divi_test.url_divi_test_tests'))
@app_divi_test.route('/divi_test_service/delete_last_day')
@login_required
def url_divi_test_divi_test_service_delete_last_days_data():
app.logger.info("url_divi_test_divi_test_service_delete_last_days_data - START: WhoService.divi_import_get_new_dates_as_array()")
flash("url_divi_test_divi_test_service_delete_last_days_data - START: WhoService.divi_import_get_new_dates_as_array()")
divi_test_service.delete_last_day()
flash("url_divi_test_divi_test_service_delete_last_days_data - DONE: WhoService.divi_import_get_new_dates_as_array()")
app.logger.info("url_divi_test_divi_test_service_delete_last_days_data - DONE: WhoService.divi_import_get_new_dates_as_array()")
return redirect(url_for('divi_test.url_divi_test_tests'))
# ----------------------------------------------------------------------------------------------------------------
# Celery TASKS
# ----------------------------------------------------------------------------------------------------------------
@celery.task(bind=True)
def task_divi_test_update_star_schema_incremental(self):
logger = get_task_logger(__name__)
self.update_state(state=states.STARTED)
logger.info("------------------------------------------------------------")
logger.info(" Received: task_divi_test_update_star_schema_incremental [OK] ")
logger.info("------------------------------------------------------------")
divi_test_service.run_update_star_schema_incremental()
self.update_state(state=states.SUCCESS)
result = "OK (task_divi_test_update_star_schema_incremental)"
return result
# ----------------------------------------------------------------------------------------------------------------
# URL Routes for Celery TASKS
# ----------------------------------------------------------------------------------------------------------------
@app_divi_test.route('/task/update_star_schema_incremental')
@login_required
def url_task_divi_test_update_star_schema_incremental():
app.logger.info("url_task_divi_update_star_schema_incremental - START: task_divi_update_star_schema_incremental()")
flash("url_task_divi_update_star_schema_incremental - START: task_divi_update_star_schema_incremental()")
task_divi_test_update_star_schema_incremental.apply_async()
flash("url_task_divi_update_star_schema_incremental - DONE: task_divi_update_star_schema_incremental()")
app.logger.info("url_task_divi_update_star_schema_incremental - DONE: task_divi_update_star_schema_incremental()")
return redirect(url_for('divi_test.url_divi_test_tests'))
{% extends 'application/page_layout.html' %}
{% block content %}
{{super()}}
{% include 'divi/navigation/divi_navtabs.html' %}
<div class="container">
<div class="row">
<div class="col">
<div class="btn-group-vertical" role="group" aria-label="Views">
<a class="btn btn-primary btn-lg btn-block text-left"
href="{{ url_for( 'divi.url_divi_tasks') }}"
role="button">WHO :: Tasks</a>
</div>
</div>
</div>
<p></p>
<div class="row">
<div class="col">
<div class="btn-group-vertical" role="group" aria-label="Views">
<a class="btn btn-danger btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_who_import_countries') }}"
role="button">url_divi_test_who_import_countries</a>
<a class="btn btn-primary btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_who_import_get_new_dates_as_array') }}"
role="button">url_divi_test_who_import_get_new_dates_as_array</a>
<a class="btn btn-danger btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_who_data_get_datum_of_all_who_data') }}"
role="button">url_divi_test_who_data_get_datum_of_all_who_data</a>
<a class="btn btn-primary btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_who_data_get_datum_of_all_who_import') }}"
role="button">url_divi_test_who_data_get_datum_of_all_who_import</a>
<a class="btn btn-danger btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_who_service_who_import_get_new_dates_as_array') }}"
role="button">url_divi_test_who_service_who_import_get_new_dates_as_array</a>
<a class="btn btn-primary btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_divi_test_divi_test_service_delete_last_days_data') }}"
role="button">url_divi_test_divi_test_service_delete_last_days_data</a>
</div>
</div>
<div class="col">
<div class="btn-group-vertical" role="group" aria-label="Views">
<a class="btn btn-primary btn-lg btn-block text-left"
href="{{ url_for( 'divi_test.url_task_divi_test_update_star_schema_incremental') }}"
role="button">url_task_divi_test_update_star_schema_incremental</a>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footer_container %}
{% endblock %}
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