archivebox.personas.importers
Shared persona browser discovery/import helpers.
These helpers are used by both the CLI and the Django admin so Persona import behavior stays consistent regardless of where it is triggered from.
Module Contents
Classes
Functions
Get the default Chrome user data directory for the current platform. |
|
Get the default Brave user data directory for the current platform. |
|
Get the default Edge user data directory for the current platform. |
|
Validate persona name to prevent path traversal. |
|
Data
API
- archivebox.personas.importers.BROWSER_PROFILE_DIR_NAMES[source]
(‘Default’, ‘Profile ‘, ‘Guest Profile’)
- archivebox.personas.importers.VOLATILE_PROFILE_COPY_PATTERNS[source]
(‘Cache’, ‘Code Cache’, ‘GPUCache’, ‘ShaderCache’, ‘Service Worker’, ‘GCM Store’, ‘*.log’, ‘Crashpad…
- archivebox.personas.importers.PERSONA_PROFILE_DIR_CANDIDATES[source]
(‘chrome_profile’, ‘chrome_user_data’)
- class archivebox.personas.importers.PersonaImportSource[source]
-
- classmethod from_choice_value(value: str) archivebox.personas.importers.PersonaImportSource[source]
- archivebox.personas.importers.get_chrome_user_data_dir() pathlib.Path | None[source]
Get the default Chrome user data directory for the current platform.
- archivebox.personas.importers.get_brave_user_data_dir() pathlib.Path | None[source]
Get the default Brave user data directory for the current platform.
- archivebox.personas.importers.get_edge_user_data_dir() pathlib.Path | None[source]
Get the default Edge user data directory for the current platform.
- archivebox.personas.importers.NETSCAPE_COOKIE_HEADER[source]
[’# Netscape HTTP Cookie File’, ‘# https://curl.se/docs/http-cookies.html’, ‘# This file was generat…
- archivebox.personas.importers.validate_persona_name(name: str) tuple[bool, str][source]
Validate persona name to prevent path traversal.
- archivebox.personas.importers.discover_local_browser_profiles() list[archivebox.personas.importers.PersonaImportSource][source]
- archivebox.personas.importers.discover_persona_template_profiles(personas_dir: pathlib.Path | None = None) list[archivebox.personas.importers.PersonaImportSource][source]
- archivebox.personas.importers.resolve_browser_import_source(browser: str, profile_dir: str | None = None) archivebox.personas.importers.PersonaImportSource[source]
- archivebox.personas.importers.resolve_browser_profile_source(browser: str, user_data_dir: pathlib.Path, profile_dir: str, source_name: str | None = None, browser_binary: str | None = None) archivebox.personas.importers.PersonaImportSource[source]
- archivebox.personas.importers.resolve_custom_import_source(raw_value: str, profile_dir: str | None = None) archivebox.personas.importers.PersonaImportSource[source]
- archivebox.personas.importers.pick_default_profile_dir(user_data_dir: pathlib.Path) str | None[source]
- archivebox.personas.importers.import_persona_from_source(persona: archivebox.personas.models.Persona, source: archivebox.personas.importers.PersonaImportSource, *, copy_profile: bool = True, import_cookies: bool = True, capture_storage: bool = False) archivebox.personas.importers.PersonaImportResult[source]
- archivebox.personas.importers.copy_browser_user_data_dir(source_dir: pathlib.Path, destination_dir: pathlib.Path) None[source]
- archivebox.personas.importers.export_browser_state(*, user_data_dir: pathlib.Path | None = None, cdp_url: str | None = None, profile_dir: str | None = None, chrome_binary: str | None = None, cookies_output_file: pathlib.Path | None = None, auth_output_file: pathlib.Path | None = None) tuple[bool, dict | None, str][source]
- archivebox.personas.importers._parse_netscape_cookies(path: pathlib.Path) dict[tuple[str, str, str], tuple[str, str, str, str, str, str, str]][source]
- archivebox.personas.importers._write_netscape_cookies(path: pathlib.Path, cookies: dict[tuple[str, str, str], tuple[str, str, str, str, str, str, str]]) None[source]
- archivebox.personas.importers._merge_netscape_cookies(existing_file: pathlib.Path, new_file: pathlib.Path) None[source]
- archivebox.personas.importers._merge_auth_storage(existing_file: pathlib.Path, new_file: pathlib.Path) None[source]
- archivebox.personas.importers._merge_cookie_dicts(existing: list[dict], new: list[dict]) list[dict][source]
- archivebox.personas.importers._apply_imported_user_agent(persona: archivebox.personas.models.Persona, auth_payload: dict | None) bool[source]