diff --git a/archivebox/__init__.py b/archivebox/__init__.py index 5eaa9e8a..606b9693 100755 --- a/archivebox/__init__.py +++ b/archivebox/__init__.py @@ -1,3 +1,20 @@ +#!/usr/bin/env python3 +# +# █████╗ ██████╗ ██████╗██╗ ██╗██╗██╗ ██╗███████╗██████╗ ██████╗ ██╗ ██╗ +# ██╔══██╗██╔══██╗██╔════╝██║ ██║██║██║ ██║██╔════╝██╔══██╗██╔═══██╗╚██╗██╔╝ +# ███████║██████╔╝██║ ███████║██║██║ ██║█████╗ ██████╔╝██║ ██║ ╚███╔╝ +# ██╔══██║██╔══██╗██║ ██╔══██║██║╚██╗ ██╔╝██╔══╝ ██╔══██╗██║ ██║ ██╔██╗ +# ██║ ██║██║ ██║╚██████╗██║ ██║██║ ╚████╔╝ ███████╗██████╔╝╚██████╔╝██╔╝ ██╗ +# ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ +# Welcome to the ArchiveBox source code! Thanks for checking it out! +# +# "We are swimming upstream against a great torrent of disorganization. +# In this, our main obligation is to establish arbitrary enclaves of order and system. +# It is the greatest possible victory to be, to continue to be, and to have been. +# No defeat can deprive us of the success of having existed for some moment of time +# in a universe that seems indifferent to us." +# --Norber Weiner + __package__ = 'archivebox' import os @@ -13,9 +30,9 @@ ARCHIVE_DIR = DATA_DIR / 'archive' # archivebox snapshot da if str(PACKAGE_DIR) not in sys.path: sys.path.append(str(PACKAGE_DIR)) +from .config.constants import CONSTANTS, VERSION # noqa -from .config.constants import CONSTANTS, VERSION, PACKAGE_DIR, DATA_DIR, ARCHIVE_DIR # noqa - +os.environ['ARCHIVEBOX_PACKAGE_DIR'] = str(PACKAGE_DIR) os.environ['ARCHIVEBOX_DATA_DIR'] = str(DATA_DIR) os.environ['DJANGO_SETTINGS_MODULE'] = 'core.settings' @@ -23,11 +40,54 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'core.settings' from .monkey_patches import * # noqa # print('DONE INSTALLING MONKEY PATCHES') -# print('LOADING VENDOR LIBRARIES') +# print('LOADING VENDORED LIBRARIES') from .vendor import load_vendored_libs # noqa load_vendored_libs() -# print('DONE LOADING VENDOR LIBRARIES') +# print('DONE LOADING VENDORED LIBRARIES') __version__ = VERSION __author__ = 'Nick Sweeting' __license__ = 'MIT' + +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██████████████████████████████████████████████████████████████████████████████████████████████████ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ████████████████████████████████████ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ██ █████████████████████████ █ ██ +# ██ ████████████████████████████████████ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██████████████████████████████████████████ ██ +# ██ ██████████████████████████████████████████ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ██ ██ +# ████████████████████████████████████████████████████████████████████████████████ diff --git a/archivebox/__main__.py b/archivebox/__main__.py index 8afaa27a..44604541 100755 --- a/archivebox/__main__.py +++ b/archivebox/__main__.py @@ -1,7 +1,15 @@ #!/usr/bin/env python3 +# _ _ _ ____ +# / \ _ __ ___| |__ (_)_ _____| __ ) _____ __ +# / _ \ | '__/ __| '_ \| \ \ / / _ \ _ \ / _ \ \/ / +# / ___ \| | | (__| | | | |\ V / __/ |_) | (_) > < +# /_/ \_\_| \___|_| |_|_| \_/ \___|____/ \___/_/\_\ + + __package__ = 'archivebox' +import archivebox # noqa import sys from .cli import main diff --git a/archivebox/cli/__init__.py b/archivebox/cli/__init__.py index 5213dcfa..4efe2a49 100644 --- a/archivebox/cli/__init__.py +++ b/archivebox/cli/__init__.py @@ -49,8 +49,8 @@ SUBCOMMAND_MODULES = { 'version': 'archivebox_version' , 'init': 'archivebox_init', - 'config': 'archivebox_config', 'install': 'archivebox_install', + 'config': 'archivebox_config', 'add': 'archivebox_add', 'remove': 'archivebox_remove', diff --git a/archivebox/core/settings.py b/archivebox/core/settings.py index 424b0acb..afdecdb3 100644 --- a/archivebox/core/settings.py +++ b/archivebox/core/settings.py @@ -43,15 +43,18 @@ USER_PLUGIN_DIRS = { 'user_plugins': DATA_DIR / 'user_plugins', } +# Discover ArchiveBox plugins BUILTIN_PLUGINS = abx.get_plugins_in_dirs(BUILTIN_PLUGIN_DIRS) PIP_PLUGINS = abx.get_pip_installed_plugins(group='archivebox') USER_PLUGINS = abx.get_plugins_in_dirs(USER_PLUGIN_DIRS) ALL_PLUGINS = {**BUILTIN_PLUGINS, **PIP_PLUGINS, **USER_PLUGINS} +# Load ArchiveBox plugins PLUGIN_MANAGER = abx.pm PLUGINS = abx.archivebox.load_archivebox_plugins(PLUGIN_MANAGER, ALL_PLUGINS) HOOKS = abx.archivebox.use.get_HOOKS(PLUGINS) +# Load ArchiveBox config from plugins CONFIGS = abx.archivebox.use.get_CONFIGS() FLAT_CONFIG = abx.archivebox.use.get_FLAT_CONFIG() BINPROVIDERS = abx.archivebox.use.get_BINPROVIDERS() diff --git a/requirements.txt b/requirements.txt index 25feaaf1..1bb4b3cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -70,6 +70,7 @@ prompt-toolkit==3.0.48; python_version == "3.11" psutil==6.0.0; python_version == "3.11" ptyprocess==0.7.0; (sys_platform != "win32" and sys_platform != "emscripten") and python_version == "3.11" pure-eval==0.2.3; python_version == "3.11" +py-machineid==0.6.0; python_version == "3.11" pyasn1==0.6.1; python_version == "3.11" pyasn1-modules==0.4.1; python_version == "3.11" pycparser==2.22; platform_python_implementation != "PyPy" and python_version == "3.11" or implementation_name != "cpython" and python_version == "3.11"