mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-14 23:24:30 -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
27 lines
987 B
Python
27 lines
987 B
Python
__package__ = 'plugins_search.sonic'
|
|
|
|
from typing import List
|
|
|
|
from pydantic import InstanceOf
|
|
from pydantic_pkgr import BinProvider, BinaryOverrides, BinName
|
|
|
|
from abx.archivebox.base_binary import BaseBinary, env, brew
|
|
|
|
from .config import SONIC_CONFIG
|
|
|
|
|
|
class SonicBinary(BaseBinary):
|
|
name: BinName = SONIC_CONFIG.SONIC_BINARY
|
|
binproviders_supported: List[InstanceOf[BinProvider]] = [brew, env] # TODO: add cargo
|
|
|
|
overrides: BinaryOverrides = {
|
|
brew.name: {'packages': ['sonic']},
|
|
# cargo.name: {'packages': ['sonic-server']}, # TODO: add cargo
|
|
}
|
|
|
|
# TODO: add version checking over protocol? for when sonic backend is on remote server and binary is not installed locally
|
|
# def on_get_version(self):
|
|
# with sonic.IngestClient(SONIC_CONFIG.SONIC_HOST, str(SONIC_CONFIG.SONIC_PORT), SONIC_CONFIG.SONIC_PASSWORD) as ingestcl:
|
|
# return SemVer.parse(str(ingestcl.protocol))
|
|
|
|
SONIC_BINARY = SonicBinary()
|