| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- from pathlib import Path
- from typing import Optional, Dict, Union, Tuple, Callable, Pattern, Type, Any, List
- from mypy_extensions import TypedDict
- SimpleConfigValue = Union[str, bool, int, None, Pattern, Dict[str, Any]]
- SimpleConfigValueDict = Dict[str, SimpleConfigValue]
- SimpleConfigValueGetter = Callable[[], SimpleConfigValue]
- ConfigValue = Union[SimpleConfigValue, SimpleConfigValueDict, SimpleConfigValueGetter]
- SHArgs = List[str] # shell command args list e.g. ["--something=1", "--someotherarg"]
- class BaseConfig(TypedDict):
- pass
- class ConfigDict(BaseConfig, total=False):
- """
- # Regenerate by pasting this quine into `archivebox shell` 🥚
- from archivebox.config import ConfigDict, CONFIG_SCHEMA
- print('class ConfigDict(BaseConfig, total=False):')
- print(' ' + '"'*3 + ConfigDict.__doc__ + '"'*3)
- for section, configs in CONFIG_SCHEMA.items():
- for key, attrs in configs.items():
- Type, default = attrs['type'], attrs['default']
- if default is None:
- print(f' {key}: Optional[{Type.__name__}]')
- else:
- print(f' {key}: {Type.__name__}')
- print()
- """
- IS_TTY: bool
- USE_COLOR: bool
- SHOW_PROGRESS: bool
- IN_DOCKER: bool
- IN_QEMU: bool
- PUID: int
- PGID: int
- OUTPUT_DIR: Optional[str]
- CONFIG_FILE: Optional[str]
- ONLY_NEW: bool
- TIMEOUT: int
- MEDIA_TIMEOUT: int
- OUTPUT_PERMISSIONS: str
- RESTRICT_FILE_NAMES: str
- URL_DENYLIST: str
- URL_ALLOWLIST: Optional[str]
- ADMIN_USERNAME: Optional[str]
- ADMIN_PASSWORD: Optional[str]
- ENFORCE_ATOMIC_WRITES: bool
- TAG_SEPARATOR_PATTERN: str
- SECRET_KEY: Optional[str]
- BIND_ADDR: str
- ALLOWED_HOSTS: str
- DEBUG: bool
- PUBLIC_INDEX: bool
- PUBLIC_SNAPSHOTS: bool
- PUBLIC_ADD_VIEW: bool
- FOOTER_INFO: str
- SNAPSHOTS_PER_PAGE: int
- CUSTOM_TEMPLATES_DIR: Optional[str]
- TIME_ZONE: str
- TIMEZONE: str
- REVERSE_PROXY_USER_HEADER: str
- REVERSE_PROXY_WHITELIST: str
- LOGOUT_REDIRECT_URL: str
- PREVIEW_ORIGINALS: bool
- LDAP: bool
- LDAP_SERVER_URI: Optional[str]
- LDAP_BIND_DN: Optional[str]
- LDAP_BIND_PASSWORD: Optional[str]
- LDAP_USER_BASE: Optional[str]
- LDAP_USER_FILTER: Optional[str]
- LDAP_USERNAME_ATTR: Optional[str]
- LDAP_FIRSTNAME_ATTR: Optional[str]
- LDAP_LASTNAME_ATTR: Optional[str]
- LDAP_EMAIL_ATTR: Optional[str]
- LDAP_CREATE_SUPERUSER: bool
- SAVE_TITLE: bool
- SAVE_FAVICON: bool
- SAVE_WGET: bool
- SAVE_WGET_REQUISITES: bool
- SAVE_SINGLEFILE: bool
- SAVE_READABILITY: bool
- SAVE_MERCURY: bool
- SAVE_HTMLTOTEXT: bool
- SAVE_PDF: bool
- SAVE_SCREENSHOT: bool
- SAVE_DOM: bool
- SAVE_HEADERS: bool
- SAVE_WARC: bool
- SAVE_GIT: bool
- SAVE_MEDIA: bool
- SAVE_ARCHIVE_DOT_ORG: bool
- SAVE_ALLOWLIST: dict
- SAVE_DENYLIST: dict
- RESOLUTION: str
- GIT_DOMAINS: str
- CHECK_SSL_VALIDITY: bool
- MEDIA_MAX_SIZE: str
- CURL_USER_AGENT: str
- WGET_USER_AGENT: str
- CHROME_USER_AGENT: str
- COOKIES_FILE: Optional[str]
- CHROME_USER_DATA_DIR: Optional[str]
- CHROME_TIMEOUT: int
- CHROME_HEADLESS: bool
- CHROME_SANDBOX: bool
- YOUTUBEDL_ARGS: list
- WGET_ARGS: list
- CURL_ARGS: list
- GIT_ARGS: list
- SINGLEFILE_ARGS: Optional[list]
- FAVICON_PROVIDER: str
- USE_INDEXING_BACKEND: bool
- USE_SEARCHING_BACKEND: bool
- SEARCH_BACKEND_ENGINE: str
- SEARCH_BACKEND_HOST_NAME: str
- SEARCH_BACKEND_PORT: int
- SEARCH_BACKEND_PASSWORD: str
- SEARCH_PROCESS_HTML: bool
- SONIC_COLLECTION: str
- SONIC_BUCKET: str
- SEARCH_BACKEND_TIMEOUT: int
- FTS_SEPARATE_DATABASE: bool
- FTS_TOKENIZERS: str
- FTS_SQLITE_MAX_LENGTH: int
- USE_CURL: bool
- USE_WGET: bool
- USE_SINGLEFILE: bool
- USE_READABILITY: bool
- USE_MERCURY: bool
- USE_GIT: bool
- USE_CHROME: bool
- USE_NODE: bool
- USE_YOUTUBEDL: bool
- USE_RIPGREP: bool
- CURL_BINARY: str
- GIT_BINARY: str
- WGET_BINARY: str
- SINGLEFILE_BINARY: str
- READABILITY_BINARY: str
- MERCURY_BINARY: str
- YOUTUBEDL_BINARY: str
- NODE_BINARY: str
- RIPGREP_BINARY: str
- CHROME_BINARY: Optional[str]
- POCKET_CONSUMER_KEY: Optional[str]
- POCKET_ACCESS_TOKENS: dict
- READWISE_READER_TOKENS: dict
- ConfigDefaultValueGetter = Callable[[ConfigDict], ConfigValue]
- ConfigDefaultValue = Union[ConfigValue, ConfigDefaultValueGetter]
- ConfigDefault = TypedDict('ConfigDefault', {
- 'default': ConfigDefaultValue,
- 'type': Optional[Type],
- 'aliases': Optional[Tuple[str, ...]],
- }, total=False)
- ConfigDefaultDict = Dict[str, ConfigDefault]
|