mirror of
https://github.com/ArchiveBox/ArchiveBox
synced 2024-12-04 01:49:12 +00:00
57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
__package__ = 'archivebox.config'
|
|
|
|
from typing import List
|
|
from pydantic import InstanceOf
|
|
|
|
from abx.archivebox.base_plugin import BasePlugin
|
|
from abx.archivebox.base_hook import BaseHook
|
|
|
|
|
|
from .constants import CONSTANTS, CONSTANTS_CONFIG, PACKAGE_DIR, DATA_DIR, ARCHIVE_DIR # noqa
|
|
from .defaults import (
|
|
ShellConfig, # noqa: F401
|
|
StorageConfig, # noqa: F401
|
|
GeneralConfig, # noqa: F401
|
|
ServerConfig, # noqa: F401
|
|
ArchivingConfig, # noqa: F401
|
|
SearchBackendConfig, # noqa: F401
|
|
SHELL_CONFIG,
|
|
STORAGE_CONFIG,
|
|
GENERAL_CONFIG,
|
|
SERVER_CONFIG,
|
|
ARCHIVING_CONFIG,
|
|
SEARCH_BACKEND_CONFIG,
|
|
)
|
|
|
|
###################### Config ##########################
|
|
|
|
|
|
class ConfigPlugin(BasePlugin):
|
|
app_label: str = 'CONFIG'
|
|
verbose_name: str = 'Configuration'
|
|
|
|
hooks: List[InstanceOf[BaseHook]] = [
|
|
SHELL_CONFIG,
|
|
GENERAL_CONFIG,
|
|
STORAGE_CONFIG,
|
|
SERVER_CONFIG,
|
|
ARCHIVING_CONFIG,
|
|
SEARCH_BACKEND_CONFIG,
|
|
]
|
|
|
|
|
|
PLUGIN = ConfigPlugin()
|
|
DJANGO_APP = PLUGIN.AppConfig
|
|
|
|
|
|
|
|
# # register django apps
|
|
# @abx.hookimpl
|
|
# def get_INSTALLED_APPS():
|
|
# return [DJANGO_APP.name]
|
|
|
|
# # register configs
|
|
# @abx.hookimpl
|
|
# def register_CONFIG():
|
|
# return PLUGIN.HOOKS_BY_TYPE['CONFIG'].values()
|
|
|