diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index d04ca70..b6837a7 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -16,7 +16,6 @@ done if [ -z "$1" ]; then python manage.py migrate && python manage.py collectstatic --noinput && - python manage.py fetch_templates_plone && exec gunicorn gemet.wsgi:application \ --name gemet \ --bind 0.0.0.0:8888 \ diff --git a/gemet/thesaurus/management/commands/fetch_templates_plone.py b/gemet/thesaurus/management/commands/fetch_templates_plone.py deleted file mode 100644 index 9d1b35d..0000000 --- a/gemet/thesaurus/management/commands/fetch_templates_plone.py +++ /dev/null @@ -1,105 +0,0 @@ -import logging -import os -import requests - -from django.core.management.base import BaseCommand -from django.conf import settings -from bs4 import BeautifulSoup, Tag - -HEAD_URL = settings.PLONE_URL + '/external-template-head' -HEADER_URL = settings.PLONE_URL + '/external-template-header' -FOOTER_URL = settings.PLONE_URL + '/external-template-footer' - - - -def prepare_html(html): - html = html.replace('href="/', 'href="' + settings.PLONE_URL + '/') - html = html.replace('src="/', 'src="' + settings.PLONE_URL + '/') - html = html.replace('href="http://localhost:3080/', 'href="' + settings.PLONE_URL + '/') - breadcrumbs = '' + \ - '' - breadcrumbs_old = '' - html = html.replace(breadcrumbs_old, breadcrumbs) - # Replace site id for Matomo - tracking_old = '_paq.push([\'setSiteId\', \'42\'])' - tracking_new = '_paq.push([\'setSiteId\', \'38\'])' - html = html.replace(tracking_old, tracking_new) - return html.encode('utf-8').strip() - -def prepare_header(header_text): - new_tag = header_text.new_tag("a", href="/auth/login", title="Log in") - new_tag.string = "Log in" - header_text.find("a", {"class": "pat-plone-modal"}).decompose() - header_text.find("div", {"class": "login"}).find('ul').decompose() - breadcrumb = '' - header_text.find('ol').append(BeautifulSoup(breadcrumb, 'html.parser')) - return header_text - -class Command(BaseCommand): - help = 'Get plone template and prepare it for use' - - def handle(self, *args, **options): - plone_path = os.path.join( - settings.BASE_DIR, 'gemet', 'thesaurus', - 'templates', 'plone') - - header_files = [ - 'head_cached.html', - 'before_login_cached.html', - 'beader_cached.html', - 'header_before_container_cached.html', - 'header_after_container_cached.html', - 'footer_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_header(BeautifulSoup(prepare_html(resp.text), features="html.parser")) - - head = header_text.find("head") - HEAD = head.prettify().encode('utf-8') - - login = header_text.body.prettify().split('
') - BEFORE_LOGIN = login[0].encode('utf-8') + '