mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-06-03 16:18:59 -04:00
move abx plugins inside vendor dir
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
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
This commit is contained in:
parent
5d9a32c364
commit
b3c1cb716e
242 changed files with 2153 additions and 2700 deletions
40
archivebox/vendor/abx-spec-searchbackend/abx_spec_searchbackend.py
vendored
Normal file
40
archivebox/vendor/abx-spec-searchbackend/abx_spec_searchbackend.py
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
import abc
|
||||
from typing import Iterable, List, Dict, cast
|
||||
|
||||
import abx
|
||||
from abx_spec_config import ConfigPluginSpec
|
||||
|
||||
|
||||
class BaseSearchBackend(abc.ABC):
|
||||
name: str
|
||||
|
||||
@staticmethod
|
||||
@abc.abstractmethod
|
||||
def index(snapshot_id: str, texts: List[str]):
|
||||
return
|
||||
|
||||
@staticmethod
|
||||
@abc.abstractmethod
|
||||
def flush(snapshot_ids: Iterable[str]):
|
||||
return
|
||||
|
||||
@staticmethod
|
||||
@abc.abstractmethod
|
||||
def search(text: str) -> List[str]:
|
||||
raise NotImplementedError("search method must be implemented by subclass")
|
||||
|
||||
|
||||
class SearchBackendPluginSpec:
|
||||
@abx.hookspec
|
||||
@abx.hookimpl
|
||||
def get_SEARCHBACKENDS() -> Dict[abx.PluginId, BaseSearchBackend]:
|
||||
return {}
|
||||
|
||||
|
||||
class ExpectedPluginSpec(SearchBackendPluginSpec, ConfigPluginSpec):
|
||||
pass
|
||||
|
||||
PLUGIN_SPEC = SearchBackendPluginSpec
|
||||
|
||||
TypedPluginManager = abx.ABXPluginManager[ExpectedPluginSpec]
|
||||
pm = cast(TypedPluginManager, abx.pm)
|
Loading…
Add table
Add a link
Reference in a new issue