From de2ba890ea8449be545e0bad2bf7dfef4ea08b2b Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Tue, 24 Sep 2024 22:01:28 -0700 Subject: [PATCH] add ArchiveBox binary --- archivebox/plugins_pkg/pip/apps.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/archivebox/plugins_pkg/pip/apps.py b/archivebox/plugins_pkg/pip/apps.py index c60b86f3..185faaea 100644 --- a/archivebox/plugins_pkg/pip/apps.py +++ b/archivebox/plugins_pkg/pip/apps.py @@ -1,6 +1,7 @@ import os import sys import inspect +import archivebox from pathlib import Path from typing import List, Dict, Optional, ClassVar from pydantic import InstanceOf, Field @@ -74,6 +75,19 @@ LIB_PIP_BINPROVIDER = LibPipBinProvider() pip = LIB_PIP_BINPROVIDER +class ArchiveboxBinary(BaseBinary): + name: BinName = 'archivebox' + + binproviders_supported: List[InstanceOf[BinProvider]] = [VENV_PIP_BINPROVIDER, SYS_PIP_BINPROVIDER, apt, brew, env] + provider_overrides: Dict[BinProviderName, ProviderLookupDict] = { + VENV_PIP_BINPROVIDER.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__}, + SYS_PIP_BINPROVIDER.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__}, + apt.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__}, + brew.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__}, + } + +ARCHIVEBOX_BINARY = ArchiveboxBinary() + class PythonBinary(BaseBinary): name: BinName = 'python' @@ -187,6 +201,7 @@ class PipPlugin(BasePlugin): VENV_PIP_BINPROVIDER, LIB_PIP_BINPROVIDER, PIP_BINARY, + ARCHIVEBOX_BINARY, PYTHON_BINARY, SQLITE_BINARY, DJANGO_BINARY,