From c37c28258f0e8aedc0c100a01d8352ce2c3b79e7 Mon Sep 17 00:00:00 2001 From: Iury Piva Date: Mon, 7 Jun 2021 20:09:20 -0300 Subject: [PATCH 1/3] move hardcoded html to templates folder --- mapshader/flask_app.py | 107 ++------------------ mapshader/templates/index_page.html | 10 ++ mapshader/templates/psutils.html | 134 +++++++++++++++++++++++++ mapshader/templates/service_page.html | 73 ++++++++++++++ mapshader/utils.py | 138 -------------------------- 5 files changed, 224 insertions(+), 238 deletions(-) create mode 100644 mapshader/templates/index_page.html create mode 100644 mapshader/templates/psutils.html create mode 100644 mapshader/templates/service_page.html diff --git a/mapshader/flask_app.py b/mapshader/flask_app.py index c7a8432..37dab75 100644 --- a/mapshader/flask_app.py +++ b/mapshader/flask_app.py @@ -1,5 +1,5 @@ from functools import partial -from mapshader.utils import psutil_fetching, psutils_html +from mapshader.utils import psutil_fetching import sys from bokeh.plotting import figure @@ -8,7 +8,7 @@ from bokeh.tile_providers import STAMEN_TONER_BACKGROUND from bokeh.tile_providers import get_provider -from jinja2 import Template +from jinja2 import Template, Environment, FileSystemLoader from bokeh.resources import INLINE @@ -29,6 +29,7 @@ from mapshader.sources import MapSource from mapshader.sources import MapService +jinja2_env = Environment(loader=FileSystemLoader("mapshader/templates/")) def flask_to_tile(source: MapSource, z=0, x=0, y=0): @@ -121,116 +122,22 @@ def build_previewer(service: MapService): def service_page(service: MapService): plot = build_previewer(service) script, div = components(dict(preview=plot)) - - template = Template( - ''' - - - - - - {{service.name}} - {{ resources }} - {{ script }} - - - - {{ psutils_html }} -
-

{{service.name}}

-
-
Client URL: - {{service.client_url}} -
-
Description: - {{service.source.description}} -
-
Geometry Type: - {{service.source.geometry_type.capitalize()}} -
-
-
-
- {% for key in div.keys() %} - {{ div[key] }} - {% endfor %} -
-
-
-

Details

-
-
- - Data Path: - - {{service.source.filepath}} -
-
- - Span: - - {{service.source.span}} -
-
- - Overviews: - - {{service.source.overviews.keys()}} -
-
- - Aggregation Method: - - {{service.source.agg_func}} -
-
- - Colormap Interpolation Method: - - {{service.source.shade_how}} -
-
- - - ''' - ) + template = jinja2_env.get_template("service_page.html") resources = INLINE.render() html = template.render(resources=resources, script=script, service=service, len=len, - div=div, - psutils_html=psutils_html()) + div=div) return html def index_page(services): - links = [] - for s in services: - links.append(f'
  • {s.name}
  • ') - - html = '' - html += '' - html += '' - html += '' - html += '' + template = jinja2_env.get_template('index_page.html') - return html + return template.render(services=services) def configure_app(app: Flask, user_source_filepath=None, contains=None): diff --git a/mapshader/templates/index_page.html b/mapshader/templates/index_page.html new file mode 100644 index 0000000..4932920 --- /dev/null +++ b/mapshader/templates/index_page.html @@ -0,0 +1,10 @@ + + + {% include 'psutils.html' %} + + + diff --git a/mapshader/templates/psutils.html b/mapshader/templates/psutils.html new file mode 100644 index 0000000..f4b70be --- /dev/null +++ b/mapshader/templates/psutils.html @@ -0,0 +1,134 @@ + +
    +
    +
    + + CPU:  + 0,0% + +
    +
    +
    +
    +
    +
    +
    + + MEMORY:  + 0,0% + +
    +
    +
    +
    +
    +
    +
    + + DISK:  + 0,0% + +
    +
    +
    +
    +
    +
    + diff --git a/mapshader/templates/service_page.html b/mapshader/templates/service_page.html new file mode 100644 index 0000000..815e0e9 --- /dev/null +++ b/mapshader/templates/service_page.html @@ -0,0 +1,73 @@ + + + + + + {{service.name}} + {{ resources }} {{ script }} + + + + {% include "psutils.html" %} + +
    +

    {{service.name}}

    +
    +
    + Client URL: + {{service.client_url}} +
    +
    + Description: + {{service.source.description}} +
    +
    + Geometry Type: + {{service.source.geometry_type.capitalize()}} +
    +
    +
    +
    + {% for key in div.keys() %} {{ div[key] }} {% endfor %} +
    +
    +
    +

    Details

    +
    +
    + Data Path: + {{service.source.filepath}} +
    +
    + Span: + {{service.source.span}} +
    +
    + Overviews: + {{service.source.overviews.keys()}} +
    +
    + Aggregation Method: + {{service.source.agg_func}} +
    +
    + Colormap Interpolation Method: + {{service.source.shade_how}} +
    +
    + + diff --git a/mapshader/utils.py b/mapshader/utils.py index 7f69c57..ddee6de 100644 --- a/mapshader/utils.py +++ b/mapshader/utils.py @@ -65,141 +65,3 @@ def psutil_fetching(): } return log - -def psutils_html(): - return ''' - -
    -
    -
    - - CPU:  - 0,0% - -
    -
    -
    -
    -
    -
    -
    - - MEMORY:  - 0,0% - -
    -
    -
    -
    -
    -
    -
    - - DISK:  - 0,0% - -
    -
    -
    -
    -
    -
    - - ''' From 748a1562022a1eb96478a49495b178e8d30b8266 Mon Sep 17 00:00:00 2001 From: Iury Piva Date: Mon, 7 Jun 2021 21:23:19 -0300 Subject: [PATCH 2/3] remove unused import --- mapshader/flask_app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mapshader/flask_app.py b/mapshader/flask_app.py index 37dab75..ab5b04e 100644 --- a/mapshader/flask_app.py +++ b/mapshader/flask_app.py @@ -8,7 +8,7 @@ from bokeh.tile_providers import STAMEN_TONER_BACKGROUND from bokeh.tile_providers import get_provider -from jinja2 import Template, Environment, FileSystemLoader +from jinja2 import Environment, FileSystemLoader from bokeh.resources import INLINE From 01e8bc2a3601f5729887a892d986d12b71717c5d Mon Sep 17 00:00:00 2001 From: giancastro Date: Wed, 9 Jun 2021 09:33:07 -0300 Subject: [PATCH 3/3] fix code lint error --- mapshader/flask_app.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mapshader/flask_app.py b/mapshader/flask_app.py index 9e1bc58..f987ce2 100644 --- a/mapshader/flask_app.py +++ b/mapshader/flask_app.py @@ -1,5 +1,4 @@ from functools import partial -from mapshader.utils import psutil_fetching import sys from bokeh.plotting import figure @@ -29,7 +28,7 @@ from mapshader.sources import MapSource -from mapshader.utils import psutil_fetching, psutils_html +from mapshader.utils import psutil_fetching jinja2_env = Environment(loader=FileSystemLoader("mapshader/templates/"))