From c0b5dbcecb3bc5c9ea6690d79ac43e60335202b7 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 18 Mar 2024 14:41:39 -0700 Subject: [PATCH] create new data/personas dir to hold cookies and chrome profiles --- archivebox/config.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/archivebox/config.py b/archivebox/config.py index 74e7ee58..8b2f3a7e 100644 --- a/archivebox/config.py +++ b/archivebox/config.py @@ -281,6 +281,7 @@ TEMPLATES_DIR_NAME = 'templates' ARCHIVE_DIR_NAME = 'archive' SOURCES_DIR_NAME = 'sources' LOGS_DIR_NAME = 'logs' +PERSONAS_DIR_NAME = 'personas' SQL_INDEX_FILENAME = 'index.sqlite3' JSON_INDEX_FILENAME = 'index.json' HTML_INDEX_FILENAME = 'index.html' @@ -357,6 +358,7 @@ ALLOWED_IN_OUTPUT_DIR = { ARCHIVE_DIR_NAME, SOURCES_DIR_NAME, LOGS_DIR_NAME, + PERSONAS_DIR_NAME, SQL_INDEX_FILENAME, f'{SQL_INDEX_FILENAME}-wal', f'{SQL_INDEX_FILENAME}-shm', @@ -507,6 +509,7 @@ DYNAMIC_CONFIG_SCHEMA: ConfigDefaultDict = { 'ARCHIVE_DIR': {'default': lambda c: c['OUTPUT_DIR'] / ARCHIVE_DIR_NAME}, 'SOURCES_DIR': {'default': lambda c: c['OUTPUT_DIR'] / SOURCES_DIR_NAME}, 'LOGS_DIR': {'default': lambda c: c['OUTPUT_DIR'] / LOGS_DIR_NAME}, + 'PERSONAS_DIR': {'default': lambda c: c['OUTPUT_DIR'] / PERSONAS_DIR_NAME}, 'CONFIG_FILE': {'default': lambda c: Path(c['CONFIG_FILE']).resolve() if c['CONFIG_FILE'] else c['OUTPUT_DIR'] / CONFIG_FILENAME}, 'COOKIES_FILE': {'default': lambda c: c['COOKIES_FILE'] and Path(c['COOKIES_FILE']).resolve()}, 'CHROME_USER_DATA_DIR': {'default': lambda c: Path(c['CHROME_USER_DATA_DIR']).resolve() if c['CHROME_USER_DATA_DIR'] else None}, @@ -1026,6 +1029,11 @@ def get_data_locations(config: ConfigDict) -> ConfigValue: 'enabled': True, 'is_valid': config['LOGS_DIR'].exists(), }, + 'PERSONAS': { + 'path': config['PERSONAS'].resolve(), + 'enabled': True, + 'is_valid': config['PERSONAS'].exists(), + }, 'ARCHIVE_DIR': { 'path': config['ARCHIVE_DIR'].resolve(), 'enabled': True, @@ -1373,6 +1381,8 @@ def check_migrations(out_dir: Union[str, Path, None]=None, config: ConfigDict=CO (Path(output_dir) / SOURCES_DIR_NAME).mkdir(exist_ok=True) (Path(output_dir) / LOGS_DIR_NAME).mkdir(exist_ok=True) + (Path(output_dir) / PERSONAS_DIR_NAME).mkdir(exist_ok=True) + (Path(output_dir) / PERSONAS_DIR_NAME / 'Default').mkdir(exist_ok=True)