From e4823cc5d7c0d9afa1251532c3834cfdc1d429eb Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 6 Apr 2021 00:57:20 -0400 Subject: [PATCH] add back CUSTOM_TEMPLATES_DIR config option --- archivebox/config.py | 7 +++++++ archivebox/core/settings.py | 3 +++ 2 files changed, 10 insertions(+) diff --git a/archivebox/config.py b/archivebox/config.py index 9485a37e..49f65c69 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -80,6 +80,7 @@ CONFIG_SCHEMA: Dict[str, ConfigDefaultDict] = { 'PUBLIC_ADD_VIEW': {'type': bool, 'default': False}, 'FOOTER_INFO': {'type': str, 'default': 'Content is hosted for personal archiving purposes only. Contact server owner for any takedown requests.'}, 'SNAPSHOTS_PER_PAGE': {'type': int, 'default': 40}, + 'CUSTOM_TEMPLATES_DIR': {'type': str, 'default': None} }, 'ARCHIVE_METHOD_TOGGLES': { @@ -279,6 +280,7 @@ DYNAMIC_CONFIG_SCHEMA: ConfigDefaultDict = { 'PACKAGE_DIR': {'default': lambda c: Path(__file__).resolve().parent}, 'TEMPLATES_DIR': {'default': lambda c: c['PACKAGE_DIR'] / TEMPLATES_DIR_NAME}, + 'CUSTOM_TEMPLATES_DIR': {'default': lambda c: c['CUSTOM_TEMPLATES_DIR'] and Path(c['CUSTOM_TEMPLATES_DIR'])}, 'OUTPUT_DIR': {'default': lambda c: Path(c['OUTPUT_DIR']).resolve() if c['OUTPUT_DIR'] else Path(os.curdir).resolve()}, 'ARCHIVE_DIR': {'default': lambda c: c['OUTPUT_DIR'] / ARCHIVE_DIR_NAME}, @@ -706,6 +708,11 @@ def get_code_locations(config: ConfigDict) -> SimpleConfigValueDict: 'enabled': True, 'is_valid': (config['TEMPLATES_DIR'] / 'static').exists(), }, + 'CUSTOM_TEMPLATES_DIR': { + 'path': config['CUSTOM_TEMPLATES_DIR'] and Path(config['CUSTOM_TEMPLATES_DIR']).resolve(), + 'enabled': bool(config['CUSTOM_TEMPLATES_DIR']), + 'is_valid': config['CUSTOM_TEMPLATES_DIR'] and Path(config['CUSTOM_TEMPLATES_DIR']).exists(), + }, # 'NODE_MODULES_DIR': { # 'path': , # 'enabled': , diff --git a/archivebox/core/settings.py b/archivebox/core/settings.py index 6a795702..ab574a0a 100644 --- a/archivebox/core/settings.py +++ b/archivebox/core/settings.py @@ -15,6 +15,7 @@ from ..config import ( ALLOWED_HOSTS, PACKAGE_DIR, TEMPLATES_DIR_NAME, + CUSTOM_TEMPLATES_DIR, SQL_INDEX_FILENAME, OUTPUT_DIR, LOGS_DIR, @@ -108,10 +109,12 @@ if DEBUG_TOOLBAR: STATIC_URL = '/static/' STATICFILES_DIRS = [ + *([str(CUSTOM_TEMPLATES_DIR / 'static')] if CUSTOM_TEMPLATES_DIR else []), str(Path(PACKAGE_DIR) / TEMPLATES_DIR_NAME / 'static'), ] TEMPLATE_DIRS = [ + *([str(CUSTOM_TEMPLATES_DIR)] if CUSTOM_TEMPLATES_DIR else []), str(Path(PACKAGE_DIR) / TEMPLATES_DIR_NAME / 'core'), str(Path(PACKAGE_DIR) / TEMPLATES_DIR_NAME / 'admin'), str(Path(PACKAGE_DIR) / TEMPLATES_DIR_NAME),