From 915d91e2e7c21efde745610741dd8cf259123a81 Mon Sep 17 00:00:00 2001 From: Diana Boiangiu Date: Fri, 19 Jan 2018 17:38:08 +0200 Subject: [PATCH 1/2] [refs #90567] Refactor fetchtemplates --- .../management/commands/fetchtemplates.py | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/gemet/thesaurus/management/commands/fetchtemplates.py b/gemet/thesaurus/management/commands/fetchtemplates.py index 91533c7..5c3dd71 100644 --- a/gemet/thesaurus/management/commands/fetchtemplates.py +++ b/gemet/thesaurus/management/commands/fetchtemplates.py @@ -24,12 +24,25 @@ class Command(BaseCommand): help = 'Get zope template and prepare it for use' def handle(self, *args, **options): - zope_path = os.path.join( settings.BASE_DIR, 'gemet', 'thesaurus', 'templates', 'zope') - resp = requests.get(HEADER_URL) - if resp.status_code == 200: + header_files = [ + 'header_before_title_cached.html', + 'header_after_title_cached.html', + 'header_before_login_cached.html', + 'header_after_login_cached.html' + ] + + try: + failed = False + resp = requests.get(HEADER_URL) + if resp.status_code != 200: + failed = True + except requests.exceptions.ConnectionError: + failed = True + + if not failed: header_text = prepare_html(resp.text) title_start = header_text.find('') @@ -42,34 +55,24 @@ def handle(self, *args, **options): HEADER_AFTER_TITLE = header_text[title_end:head_end] HEADER_BEFORE_LOGIN = header_text[head_end:login_start] HEADER_AFTER_LOGIN = header_text[login_end:] - else: - with open(os.path.join(zope_path, - 'header_before_title_cached.html')) as f: - HEADER_BEFORE_TITLE = f.read() - with open(os.path.join(zope_path, - 'header_after_title_cached.html')) as f: - HEADER_AFTER_TITLE = f.read() - with open(os.path.join(zope_path, - 'header_before_login_cached.html')) as f: - HEADER_BEFORE_LOGIN = f.read() - with open(os.path.join(zope_path, - 'header_after_login_cached.html')) as f: - HEADER_AFTER_LOGIN = f.read() - resp = requests.get(FOOTER_URL) - if resp.status_code == 200: + resp = requests.get(FOOTER_URL) FOOTER_TEXT = prepare_html(resp.text) + templates = { + 'header_before_title.html': HEADER_BEFORE_TITLE, + 'header_after_title.html': HEADER_AFTER_TITLE, + 'header_before_login.html': HEADER_BEFORE_LOGIN, + 'header_after_login.html': HEADER_AFTER_LOGIN, + 'footer.html': FOOTER_TEXT, + } else: - with open(os.path.join(zope_path, 'footer_cached.html')) as f: - FOOTER_TEXT = f.read() - - templates = { - 'header_before_title.html': HEADER_BEFORE_TITLE, - 'header_after_title.html': HEADER_AFTER_TITLE, - 'header_before_login.html': HEADER_BEFORE_LOGIN, - 'header_after_login.html': HEADER_AFTER_LOGIN, - 'footer.html': FOOTER_TEXT, - } + files = ['header_before_title.html', 'header_after_title.html', + 'header_before_login.html', 'header_after_login.html', + 'footer.html'] + templates = {} + for template, file_name in zip(files, header_files): + with open(os.path.join(zope_path, file_name)) as f: + templates[template] = f.read() for template_name, content in templates.iteritems(): template_path = os.path.join(zope_path, template_name) From 11de47cd90ddcff9d344ee1a0d7d808026ea26ec Mon Sep 17 00:00:00 2001 From: Diana Boiangiu <boiangiudiana58@gmail.com> Date: Thu, 25 Jan 2018 11:11:53 +0200 Subject: [PATCH 2/2] [refs #90567] Fix fetchtemplates command errors --- gemet/thesaurus/management/commands/fetchtemplates.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gemet/thesaurus/management/commands/fetchtemplates.py b/gemet/thesaurus/management/commands/fetchtemplates.py index 5c3dd71..7c63050 100644 --- a/gemet/thesaurus/management/commands/fetchtemplates.py +++ b/gemet/thesaurus/management/commands/fetchtemplates.py @@ -1,3 +1,4 @@ +import logging import os import requests @@ -31,7 +32,8 @@ def handle(self, *args, **options): 'header_before_title_cached.html', 'header_after_title_cached.html', 'header_before_login_cached.html', - 'header_after_login_cached.html' + 'header_after_login_cached.html', + 'footer_cached.html', ] try: @@ -73,6 +75,8 @@ def handle(self, *args, **options): for template, file_name in zip(files, header_files): with open(os.path.join(zope_path, file_name)) as f: templates[template] = f.read() + logger = logging.getLogger('django') + logger.info('Zope templates were taken from cache.') for template_name, content in templates.iteritems(): template_path = os.path.join(zope_path, template_name)