mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-13 06:34:25 -04:00

Some checks are pending
Build Debian package / build (push) Waiting to run
Build Docker image / buildx (push) Waiting to run
Build Homebrew package / build (push) Waiting to run
Run linters / lint (push) Waiting to run
Build Pip package / build (push) Waiting to run
Run tests / python_tests (ubuntu-22.04, 3.11) (push) Waiting to run
Run tests / docker_tests (push) Waiting to run
48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
__package__ = 'plugins_extractor.singlefile'
|
|
|
|
from typing import List
|
|
|
|
from pydantic import InstanceOf
|
|
from pydantic_pkgr import BinProvider, BinaryOverrides, BinName, bin_abspath
|
|
|
|
from abx.archivebox.base_binary import BaseBinary, env
|
|
|
|
from plugins_pkg.npm.binproviders import SYS_NPM_BINPROVIDER, LIB_NPM_BINPROVIDER
|
|
|
|
from .config import SINGLEFILE_CONFIG
|
|
|
|
|
|
SINGLEFILE_MIN_VERSION = '1.1.54'
|
|
SINGLEFILE_MAX_VERSION = '1.1.60'
|
|
|
|
|
|
class SinglefileBinary(BaseBinary):
|
|
name: BinName = SINGLEFILE_CONFIG.SINGLEFILE_BINARY
|
|
binproviders_supported: List[InstanceOf[BinProvider]] = [LIB_NPM_BINPROVIDER, SYS_NPM_BINPROVIDER, env]
|
|
|
|
overrides: BinaryOverrides = {
|
|
LIB_NPM_BINPROVIDER.name: {
|
|
"abspath": lambda:
|
|
bin_abspath(SINGLEFILE_CONFIG.SINGLEFILE_BINARY, PATH=LIB_NPM_BINPROVIDER.PATH)
|
|
or bin_abspath("single-file", PATH=LIB_NPM_BINPROVIDER.PATH)
|
|
or bin_abspath("single-file-node.js", PATH=LIB_NPM_BINPROVIDER.PATH),
|
|
"packages": [f"single-file-cli@>={SINGLEFILE_MIN_VERSION} <{SINGLEFILE_MAX_VERSION}"],
|
|
},
|
|
SYS_NPM_BINPROVIDER.name: {
|
|
"abspath": lambda:
|
|
bin_abspath(SINGLEFILE_CONFIG.SINGLEFILE_BINARY, PATH=SYS_NPM_BINPROVIDER.PATH)
|
|
or bin_abspath("single-file", PATH=SYS_NPM_BINPROVIDER.PATH)
|
|
or bin_abspath("single-file-node.js", PATH=SYS_NPM_BINPROVIDER.PATH),
|
|
"packages": [f"single-file-cli@>={SINGLEFILE_MIN_VERSION} <{SINGLEFILE_MAX_VERSION}"],
|
|
"install": lambda: None,
|
|
},
|
|
env.name: {
|
|
'abspath': lambda:
|
|
bin_abspath(SINGLEFILE_CONFIG.SINGLEFILE_BINARY, PATH=env.PATH)
|
|
or bin_abspath('single-file', PATH=env.PATH)
|
|
or bin_abspath('single-file-node.js', PATH=env.PATH),
|
|
},
|
|
}
|
|
|
|
|
|
SINGLEFILE_BINARY = SinglefileBinary()
|