From ca494b235010f32e4a63c98fabc07091114287e4 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 13 Jun 2017 13:34:27 +0100 Subject: [PATCH 1/8] Remove Jinja and use tornado templates --- remoteappmanager/base_application.py | 18 ------ .../handlers/admin/admin_home_handler.py | 2 +- remoteappmanager/handlers/base_handler.py | 18 ++++-- .../handlers/user_home_handler.py | 2 +- .../{admin/page.html => admin_page.html} | 9 ++- remoteappmanager/templates/error.html | 29 ++++------ remoteappmanager/templates/page.html | 57 +++++++++---------- .../{user/page.html => user_page.html} | 11 ++-- .../tests/test_jinja2_adapters.py | 47 --------------- requirements.txt | 1 - 10 files changed, 62 insertions(+), 132 deletions(-) rename remoteappmanager/templates/{admin/page.html => admin_page.html} (91%) rename remoteappmanager/templates/{user/page.html => user_page.html} (69%) delete mode 100644 remoteappmanager/tests/test_jinja2_adapters.py diff --git a/remoteappmanager/base_application.py b/remoteappmanager/base_application.py index 5989b3580..00b8650fa 100644 --- a/remoteappmanager/base_application.py +++ b/remoteappmanager/base_application.py @@ -4,14 +4,12 @@ from traitlets import Instance, default from tornado import web import tornado.ioloop -from jinja2 import Environment, FileSystemLoader from tornadowebapi.registry import Registry from remoteappmanager.db.interfaces import ABCDatabase from remoteappmanager.logging.logging_mixin import LoggingMixin from remoteappmanager.docker.container_manager import ContainerManager -from remoteappmanager.jinja2_adapters import Jinja2LoaderAdapter, gravatar_id from remoteappmanager.user import User from remoteappmanager.traitlets import as_dict from remoteappmanager.services.hub import Hub @@ -84,8 +82,6 @@ def __init__(self, settings["static_url_prefix"] = ( self._command_line_config.base_urlpath + "static/") - self._jinja_init(settings) - handlers = self._get_handlers() super().__init__(handlers, **settings) @@ -181,17 +177,3 @@ def _get_handlers(self): web_api = self.registry.api_handlers(base_urlpath) web_handlers = self._web_handlers() return web_api+web_handlers - - def _jinja_init(self, settings): - """Initializes the jinja template system settings. - These will be passed as settings and will be accessible at - rendering.""" - jinja_env = Environment( - loader=FileSystemLoader( - settings["template_path"] - ), - autoescape=True, - ) - - jinja_env.filters["gravatar_id"] = gravatar_id - settings["template_loader"] = Jinja2LoaderAdapter(jinja_env) diff --git a/remoteappmanager/handlers/admin/admin_home_handler.py b/remoteappmanager/handlers/admin/admin_home_handler.py index c90909d67..a081db5ae 100644 --- a/remoteappmanager/handlers/admin/admin_home_handler.py +++ b/remoteappmanager/handlers/admin/admin_home_handler.py @@ -9,4 +9,4 @@ class AdminHomeHandler(BaseHandler): @web.authenticated @gen.coroutine def get(self): - self.render('admin/page.html') + self.render('admin_page.html') diff --git a/remoteappmanager/handlers/base_handler.py b/remoteappmanager/handlers/base_handler.py index 9b8b9ef12..e136deb92 100644 --- a/remoteappmanager/handlers/base_handler.py +++ b/remoteappmanager/handlers/base_handler.py @@ -1,5 +1,6 @@ from http.client import responses from urllib.parse import urljoin +import hashlib from tornado import web, gen @@ -36,12 +37,17 @@ def render(self, template_name, **kwargs): args.update(kwargs) - if file_config.ga_tracking_id: - args.update({ - "analytics": { - "tracking_id": file_config.ga_tracking_id - } - }) + args.update({ + "analytics": { + "tracking_id": file_config.ga_tracking_id + } if file_config.ga_tracking_id else None + }) + + args.update({ + "gravatar_id": hashlib.md5( + str(self.current_user.name).strip().lower().encode( + "utf-8")).hexdigest() + }) super(BaseHandler, self).render(template_name, **args) diff --git a/remoteappmanager/handlers/user_home_handler.py b/remoteappmanager/handlers/user_home_handler.py index 57da924bd..385e933ab 100644 --- a/remoteappmanager/handlers/user_home_handler.py +++ b/remoteappmanager/handlers/user_home_handler.py @@ -9,4 +9,4 @@ class UserHomeHandler(BaseHandler): @web.authenticated @gen.coroutine def get(self): - self.render('user/page.html') + self.render('user_page.html') diff --git a/remoteappmanager/templates/admin/page.html b/remoteappmanager/templates/admin_page.html similarity index 91% rename from remoteappmanager/templates/admin/page.html rename to remoteappmanager/templates/admin_page.html index 0f6b4bb9b..0148ca813 100644 --- a/remoteappmanager/templates/admin/page.html +++ b/remoteappmanager/templates/admin_page.html @@ -1,6 +1,6 @@ {% extends "page.html" %} -{% set skin = "skin-red" %} +{% block skin %} skin-red {% end %} {% block sidebar %} -{% endblock %} +{% end %} {% block main %}
@@ -25,9 +25,8 @@
-{% endblock %} +{% end %} {% block script_init %} - {{ super() }} -{% endblock %} +{% end %} diff --git a/remoteappmanager/templates/error.html b/remoteappmanager/templates/error.html index bef771a63..ae4cb44a3 100644 --- a/remoteappmanager/templates/error.html +++ b/remoteappmanager/templates/error.html @@ -1,28 +1,23 @@ {% extends "page.html" %} {% block login_widget %} -{% endblock %} +{% end %} {% block main %}
{% block h1_error %} -

- {{status_code}} : {{status_message}} -

- {% endblock h1_error %} +

+ {{status_code}} : {{status_message}} +

+ {% end %} {% block error_detail %} - {% if message %} -

- {{message}} -

- {% endif %} - {% if message_html %} -

- {{message_html | safe}} -

- {% endif %} - {% endblock error_detail %} + {% if message %} +

+ {{message}} +

+ {% end %} + {% end %}
-{% endblock %} +{% end %} diff --git a/remoteappmanager/templates/page.html b/remoteappmanager/templates/page.html index 608a0f245..99eb1ac21 100644 --- a/remoteappmanager/templates/page.html +++ b/remoteappmanager/templates/page.html @@ -1,17 +1,15 @@ -{% set skin = skin | default("skin-blue") %} - - {% block title %}RemoteApp Manager{% endblock %} + {% block title %}RemoteApp Manager{% end %} {% block stylesheet %} - {% endblock %} + {% end %} {% block script %} - {% if analytics %} - - {% endif %} - {% endblock %} + {% if analytics is not None %} + + {% end %} + {% end %} - +