diff --git a/README.md b/README.md index acd91d818f22cdad8fd8e0ae8ed77a91863c120b..49ce08f7869abe3e0645f7feb8606b5fe6e304b6 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ class WhoGlobalDataImportTable(db.Model): * Issue #42 SQLalchemy instead of SQL: WhoGlobalDataImportTable.get_new_dates_as_array() * Issue #47 refactor Routes from app.py to org...who,europe,... * Issue #48 refactor Tasks from server_mq.py to org...who,europe,... +* Issue #49 EuropeServiceUpdate.__update_data_short() ### 0.0.12 Release * Issue #5 Visual Graphs for Data per Countries order by Date diff --git a/app.py b/app.py index a430c5a8afb85ab74c79e2639edcaccfb36884b6..4739e1723f85ac67555578f39c6631800118d3cb 100644 --- a/app.py +++ b/app.py @@ -11,7 +11,7 @@ from org.woehlke.covid19.europe.europe_service import EuropeService from org.woehlke.covid19.admin.admin_service import AdminService from server_mq import who_run_update_task, who_update_short_task, who_update_initial_task from server_mq import alive_message_task -from server_mq import europe_update_task +from server_mq import europe_update_initial_task drop_and_create_data_again = True @@ -253,10 +253,10 @@ def url_europe_tasks(): page_info=page_info) -@app.route('/europe/update') +@app.route('/europe/update/initial') def europe_update_data(): europe_service.download() - europe_update_task.apply_async() + europe_update_initial_task.apply_async() flash("europe_service.run_update started") return redirect(url_for('home')) @@ -406,11 +406,19 @@ def url_nrw_bochum(page=1): # Admin # ################################################################################################################# -@app.route('/admin') -def url_admin(): +@app.route('/admin/tasks') +def url_admin_tasks(): page_info = ApplicationPage('Admin', "Tasks") return render_template( - 'admin/page_admin.html', + 'admin/admin_tasks.html', + page_info=page_info) + + +@app.route('/admin/info') +def url_admin_info(): + page_info = ApplicationPage('Admin', "Info") + return render_template( + 'admin/admin_info.html', page_info=page_info) @@ -420,7 +428,7 @@ def url_alive_message_start(): alive_message_task.apply_async() flash("alive_message_task started") app.logger.info("url_alive_message_start [done]") - return redirect(url_for('url_admin')) + return redirect(url_for('url_admin_tasks')) @app.route('/admin/database/dump') @@ -429,7 +437,7 @@ def url_admin_database_dump(): admin_service.run_admin_database_dump() flash("admin_service.run_admin_database_dump started") app.logger.info("url_admin_database_dump [done]") - return redirect(url_for('url_admin')) + return redirect(url_for('url_admin_tasks')) @app.route('/admin/database/import') @@ -438,7 +446,7 @@ def url_admin_database_import(): admin_service.run_admin_database_import() flash("admin_service.run_admin_database_import started") app.logger.info("url_admin_database_import [done]") - return redirect(url_for('url_admin')) + return redirect(url_for('url_admin_tasks')) @app.route('/admin/database/drop') @@ -447,12 +455,12 @@ def url_admin_database_drop(): admin_service.run_admin_database_drop() if drop_and_create_data_again: europe_service.download() - europe_update_task.apply_async() who_service.run_download() + europe_update_initial_task.apply_async() who_update_initial_task.apply_async() flash("admin_service.run_admin_database_drop started") app.logger.info("url_admin_database_drop [done]") - return redirect(url_for('url_admin')) + return redirect(url_for('url_admin_tasks')) ################################################################################################################# diff --git a/org/woehlke/covid19/europe/europe_service.py b/org/woehlke/covid19/europe/europe_service.py index 12ac078339bb08b298796a8712c0196f99c8b62e..295cd52d503e6201ecd304c40aef82650f71c71c 100644 --- a/org/woehlke/covid19/europe/europe_service.py +++ b/org/woehlke/covid19/europe/europe_service.py @@ -36,11 +36,20 @@ class EuropeService: app.logger.info("------------------------------------------------------------") return self - def run_update(self): + def run_update_initial(self): app.logger.info(" run update [begin]") app.logger.info("------------------------------------------------------------") self.europe_service_import.import_datafile_to_db() - self.europe_service_update.update_db() + self.europe_service_update.update_db_initial() app.logger.info(" run update [done]") app.logger.info("------------------------------------------------------------") return self + + def run_update_short(self): + app.logger.info(" run update short [begin]") + app.logger.info("------------------------------------------------------------") + self.europe_service_import.import_datafile_to_db() + self.europe_service_update.update_db_short() + app.logger.info(" run update short [done]") + app.logger.info("------------------------------------------------------------") + return self diff --git a/org/woehlke/covid19/europe/europe_service_update.py b/org/woehlke/covid19/europe/europe_service_update.py index 34a16c9a3c00594cfe2460250eb4194d12080105..0aed51b9d506b2dadc7e00a6b42c74d8d8e1a9ab 100644 --- a/org/woehlke/covid19/europe/europe_service_update.py +++ b/org/woehlke/covid19/europe/europe_service_update.py @@ -71,8 +71,8 @@ class EuropeServiceUpdate: app.logger.info("------------------------------------------------------------") return self - def __update_data(self): - app.logger.info(" __update_data [begin]") + def __update_data_initial(self): + app.logger.info(" __update_data_initial [begin]") app.logger.info("------------------------------------------------------------") result_date_rep = EuropeDataImportTable.get_date_rep() i = 0 @@ -112,12 +112,36 @@ class EuropeServiceUpdate: db.session.commit() db.session.commit() app.logger.info(" update Europa initial ... " + str(i) + " rows total") - app.logger.info(" __update_data [done]") + app.logger.info(" __update_data_initial [done]") app.logger.info("------------------------------------------------------------") return self - def update_db(self): - app.logger.info(" update_db [begin]") + #TODO + def __update_data_short(self): + app.logger.info(" __update_data_initial [begin]") + app.logger.info("------------------------------------------------------------") + app.logger.info(" ... ") + app.logger.info(" __update_data_initial [done]") + app.logger.info("------------------------------------------------------------") + return self + + def update_db_initial(self): + app.logger.info(" update_db_initial [begin]") + app.logger.info("------------------------------------------------------------") + EuropeData.remove_all() + EuropeCountry.remove_all() + EuropeContinent.remove_all() + EuropeDateReported.remove_all() + self.__update_date_reported() + self.__update_continent() + self.__update_country() + self.__update_data_initial() + app.logger.info(" update_db_initial [done]") + app.logger.info("------------------------------------------------------------") + return self + + def update_db_short(self): + app.logger.info(" update_db_short [begin]") app.logger.info("------------------------------------------------------------") EuropeData.remove_all() EuropeCountry.remove_all() @@ -126,8 +150,8 @@ class EuropeServiceUpdate: self.__update_date_reported() self.__update_continent() self.__update_country() - self.__update_data() - app.logger.info(" update_db [done]") + self.__update_data_short() + app.logger.info(" update_db_short [done]") app.logger.info("------------------------------------------------------------") return self diff --git a/server_mq.py b/server_mq.py index a4110c7bcbfe325dceb4dba125a3d8a785a05a35..43045355320e2dd118daabc8b5d2e8617c06ac54 100644 --- a/server_mq.py +++ b/server_mq.py @@ -64,12 +64,12 @@ def alive_message_task(self): @celery.task(bind=True) -def europe_update_task(self): +def europe_update_initial_task(self): self.update_state(state=states.STARTED) logger.info("------------------------------------------------------------") logger.info(" Received: europe_update_task [OK] ") logger.info("------------------------------------------------------------") - europe_service.run_update() + europe_service.run_update_initial() self.update_state(state=states.SUCCESS) result = "OK (europe_update_task)" return result diff --git a/templates/admin/admin_info.html b/templates/admin/admin_info.html new file mode 100644 index 0000000000000000000000000000000000000000..50558e13885bdb6b484ad2528eda28acdf8bb395 --- /dev/null +++ b/templates/admin/admin_info.html @@ -0,0 +1,20 @@ +{% extends 'layout.html' %} + +{% block navigation_breadcrumb %} + +{% endblock %} + +{% block navigation_navtabs %} + {% include 'fragment_navtabs_admin.html' %} +{% endblock %} + +{% block main_container %} + +{% endblock %} + +{% block footer_container %} + +{% endblock %} + + + diff --git a/templates/admin/page_admin.html b/templates/admin/admin_tasks.html similarity index 89% rename from templates/admin/page_admin.html rename to templates/admin/admin_tasks.html index 104c34a61ad46275dd0e9f520b6bdbd578a572b2..3d5bfb46a0c552ee7c89f1a3e89b8fd1f9fa6081 100644 --- a/templates/admin/page_admin.html +++ b/templates/admin/admin_tasks.html @@ -4,6 +4,10 @@ {% endblock %} +{% block navigation_navtabs %} + {% include 'fragment_navtabs_admin.html' %} +{% endblock %} + {% block main_container %} <div class="row"> <div class="btn-group" role="group" aria-label="Views"> diff --git a/templates/europe/europe_continent.html b/templates/europe/europe_continent_all.html similarity index 100% rename from templates/europe/europe_continent.html rename to templates/europe/europe_continent_all.html diff --git a/templates/europe/europe_country.html b/templates/europe/europe_country_all.html similarity index 100% rename from templates/europe/europe_country.html rename to templates/europe/europe_country_all.html diff --git a/templates/europe/europe_date_reported.html b/templates/europe/europe_date_reported_all.html similarity index 100% rename from templates/europe/europe_date_reported.html rename to templates/europe/europe_date_reported_all.html diff --git a/templates/fragment_navtabs_admin.html b/templates/fragment_navtabs_admin.html new file mode 100644 index 0000000000000000000000000000000000000000..06e7a6c0bd57effd652d03b880b40461fe5ca7b4 --- /dev/null +++ b/templates/fragment_navtabs_admin.html @@ -0,0 +1,10 @@ + <nav> + <ul class="nav nav-tabs"> + <li class="nav-item"> + <a class="nav-link" href="/admin/tasks">admin tasks</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/admin/info">admin Info</a> + </li> + </ul> + </nav> \ No newline at end of file diff --git a/templates/fragment_navtabs_europe.html b/templates/fragment_navtabs_europe.html index 75890cd3f4bdd4511dd71abb8dbbae787cf96455..73aa49a1255c16b8d010d8fb5a3b6c0be29f61c5 100644 --- a/templates/fragment_navtabs_europe.html +++ b/templates/fragment_navtabs_europe.html @@ -1,16 +1,10 @@ <nav> <ul class="nav nav-tabs"> - <li class="nav-item"> - <a class="nav-link active" href="/home">Home</a> - </li> - <li class="nav-item"> - <a class="nav-link" href="/europe/info">Europe Info</a> - </li> <li class="nav-item"> <a class="nav-link" href="/europe/tasks">Europe tasks</a> </li> <li class="nav-item"> - <a class="nav-link" href="/europe/imported">Europe imported</a> + <a class="nav-link" href="/europe/info">Europe Info</a> </li> <li class="nav-item"> <a class="nav-link" href="/europe/date_reported">Europe date_reported</a> @@ -24,5 +18,8 @@ <li class="nav-item"> <a class="nav-link" href="/europe/data">Europe data</a> </li> + <li class="nav-item"> + <a class="nav-link" href="/europe/imported">Europe imported</a> + </li> </ul> </nav> \ No newline at end of file diff --git a/templates/fragment_navtabs_who.html b/templates/fragment_navtabs_who.html index 765db8fd97cf0bb1f6dda3c355ce4777f4b77a13..fea44484280173fdd2f13c67802844d08cc1972b 100644 --- a/templates/fragment_navtabs_who.html +++ b/templates/fragment_navtabs_who.html @@ -2,22 +2,22 @@ <nav> <ul class="nav nav-tabs"> <li class="nav-item"> - <a class="nav-link" href="/who/region/all">WHO Regions</a> + <a class="nav-link" href="/who/tasks">WHO tasks</a> </li> <li class="nav-item"> - <a class="nav-link" href="/who/germany">WHO Germany</a> + <a class="nav-link" href="/who/region/all">WHO Regions</a> </li> <li class="nav-item"> - <a class="nav-link" href="/who/date_reported/all">WHO Date Reported</a> + <a class="nav-link" href="/who/info">WHO Info</a> </li> <li class="nav-item"> - <a class="nav-link" href="/who/country/all">WHO Countries</a> + <a class="nav-link" href="/who/germany">WHO Germany</a> </li> <li class="nav-item"> - <a class="nav-link" href="/who/info">WHO Info</a> + <a class="nav-link" href="/who/date_reported/all">WHO Date Reported</a> </li> <li class="nav-item"> - <a class="nav-link" href="/who/tasks">WHO tasks</a> + <a class="nav-link" href="/who/country/all">WHO Countries</a> </li> <li class="nav-item"> <a class="nav-link" href="/who/imported">WHO imported</a> diff --git a/templates/layout.html b/templates/layout.html index 5fb0b177fb79a6a4b2bfb065a4cddb38a212217d..975d4f0c957b3cc7c900baa0f4f98cb9c58ebbf1 100644 --- a/templates/layout.html +++ b/templates/layout.html @@ -44,7 +44,8 @@ <header> <div class="container"> {% include 'fragment_navbar.html' %} - <br/> + </div> + <div class="container"> {% block navigation_jumbotron %} <div class="jumbotron"> <h1 class="display-4">{{ page_info.title }}</h1> @@ -53,10 +54,14 @@ <p>{{ page_info.subtitle_info }}</p> </div> {% endblock %} - <br/> + </div> + <div class="container"> {% include 'fragment_navtabs.html' %} + </div> + <div class="container"> {% block navigation_navtabs %}{% endblock %} - <br/> + </div> + <div class="container"> {% block navigation_breadcrumb %}{% endblock %} </div> </header> @@ -64,6 +69,8 @@ <main> <div class="container"> {% include 'fragment_flashed_messages.html' %} + </div> + <div class="container"> {% block main_container %}{% endblock %} </div> </main> diff --git a/templates/page_home.html b/templates/page_home.html index a438f1dc52fbb476f105fce64779480d5822da2b..c545295a41d37538b5b8ee6a2b231a67dc6af2fb 100644 --- a/templates/page_home.html +++ b/templates/page_home.html @@ -5,18 +5,21 @@ {% endblock %} {% block main_container %} + <h3>WHO</h3> <div class="row"> <div class="btn-group" role="group" aria-label="Views"> <a class="btn btn-primary btn-lg" href="/who/update/initial" role="button">WHO :: update :: initial</a> <a class="btn btn-secondary btn-lg" href="/who/update/short" role="button">WHO :: update :: short</a> </div> </div> + <h3>Europe</h3> <div class="row"> <div class="btn-group" role="group" aria-label="Views"> <a class="btn btn-primary btn-lg" href="/europe/update/initial" role="button">Europe :: update :: initial</a> <a class="btn btn-secondary btn-lg" href="/europe/update/short" role="button">Europe :: update :: short</a> </div> </div> + <h3>Admin</h3> <div class="row"> <div class="btn-group" role="group" aria-label="Views"> <a class="btn btn-secondary btn-lg" href="/admin/alive_message" role="button">Admin :: alive message</a>