diff --git a/archivebox/builtin_plugins/puppeteer/roles b/archivebox/builtin_plugins/puppeteer/roles deleted file mode 120000 index e4109d37..00000000 --- a/archivebox/builtin_plugins/puppeteer/roles +++ /dev/null @@ -1 +0,0 @@ -../ansible/roles \ No newline at end of file diff --git a/archivebox/builtin_plugins/singlefile/roles b/archivebox/builtin_plugins/singlefile/roles deleted file mode 120000 index e4109d37..00000000 --- a/archivebox/builtin_plugins/singlefile/roles +++ /dev/null @@ -1 +0,0 @@ -../ansible/roles \ No newline at end of file diff --git a/archivebox/builtin_plugins/ytdlp/roles b/archivebox/builtin_plugins/ytdlp/roles deleted file mode 120000 index e4109d37..00000000 --- a/archivebox/builtin_plugins/ytdlp/roles +++ /dev/null @@ -1 +0,0 @@ -../ansible/roles \ No newline at end of file diff --git a/archivebox/builtin_plugins/puppeteer/install_puppeteer.yml b/archivebox/plugantic/ansible/install_puppeteer.yml similarity index 94% rename from archivebox/builtin_plugins/puppeteer/install_puppeteer.yml rename to archivebox/plugantic/ansible/install_puppeteer.yml index d277685b..29cdaf3f 100755 --- a/archivebox/builtin_plugins/puppeteer/install_puppeteer.yml +++ b/archivebox/plugantic/ansible/install_puppeteer.yml @@ -40,7 +40,7 @@ name: puppeteer PATH: '{{BINPROVIDERS.npm.PATH}}' - # - name: Load chrome binaries from environment PATH + # - name: Find existing chrome binaries in environment PATH # include_role: # name: load_binary # vars: @@ -83,6 +83,7 @@ when: not BINARIES.chrome.version|default('') - name: Create ./bin/chrome symlink to ./browsers/chrome/... binary + # normal symlink doesn't work for .app on macOS because it fails to load ../Framworks/..., so we create a tiny bash script to open it in its correct cwd instead copy: content: | #!/bin/bash diff --git a/archivebox/builtin_plugins/singlefile/install_singlefile.yml b/archivebox/plugantic/ansible/install_singlefile.yml similarity index 100% rename from archivebox/builtin_plugins/singlefile/install_singlefile.yml rename to archivebox/plugantic/ansible/install_singlefile.yml diff --git a/archivebox/builtin_plugins/ytdlp/install_ytdlp.yml b/archivebox/plugantic/ansible/install_ytdlp.yml similarity index 100% rename from archivebox/builtin_plugins/ytdlp/install_ytdlp.yml rename to archivebox/plugantic/ansible/install_ytdlp.yml diff --git a/archivebox/builtin_plugins/ansible/roles/load_binary/meta/argument_specs.yml b/archivebox/plugantic/ansible/roles/load_binary/meta/argument_specs.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/load_binary/meta/argument_specs.yml rename to archivebox/plugantic/ansible/roles/load_binary/meta/argument_specs.yml diff --git a/archivebox/builtin_plugins/ansible/roles/load_binary/tasks/main.yml b/archivebox/plugantic/ansible/roles/load_binary/tasks/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/load_binary/tasks/main.yml rename to archivebox/plugantic/ansible/roles/load_binary/tasks/main.yml diff --git a/archivebox/builtin_plugins/ansible/roles/load_binary/vars/main.yml b/archivebox/plugantic/ansible/roles/load_binary/vars/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/load_binary/vars/main.yml rename to archivebox/plugantic/ansible/roles/load_binary/vars/main.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_npm/meta/argument_specs.yml b/archivebox/plugantic/ansible/roles/setup_lib_npm/meta/argument_specs.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_npm/meta/argument_specs.yml rename to archivebox/plugantic/ansible/roles/setup_lib_npm/meta/argument_specs.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_npm/tasks/main.yml b/archivebox/plugantic/ansible/roles/setup_lib_npm/tasks/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_npm/tasks/main.yml rename to archivebox/plugantic/ansible/roles/setup_lib_npm/tasks/main.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_npm/vars/main.yml b/archivebox/plugantic/ansible/roles/setup_lib_npm/vars/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_npm/vars/main.yml rename to archivebox/plugantic/ansible/roles/setup_lib_npm/vars/main.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_pip/meta/argument_specs.yml b/archivebox/plugantic/ansible/roles/setup_lib_pip/meta/argument_specs.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_pip/meta/argument_specs.yml rename to archivebox/plugantic/ansible/roles/setup_lib_pip/meta/argument_specs.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_pip/tasks/main.yml b/archivebox/plugantic/ansible/roles/setup_lib_pip/tasks/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_pip/tasks/main.yml rename to archivebox/plugantic/ansible/roles/setup_lib_pip/tasks/main.yml diff --git a/archivebox/builtin_plugins/ansible/roles/setup_lib_pip/vars/main.yml b/archivebox/plugantic/ansible/roles/setup_lib_pip/vars/main.yml similarity index 100% rename from archivebox/builtin_plugins/ansible/roles/setup_lib_pip/vars/main.yml rename to archivebox/plugantic/ansible/roles/setup_lib_pip/vars/main.yml diff --git a/archivebox/plugantic/base_binary.py b/archivebox/plugantic/base_binary.py index c38a2ad1..9adeb350 100644 --- a/archivebox/plugantic/base_binary.py +++ b/archivebox/plugantic/base_binary.py @@ -1,17 +1,25 @@ -__package__ = 'archivebox.plugantic' +__package__ = "archivebox.plugantic" -import os from typing import Dict, List from pydantic import Field, InstanceOf -from pydantic_pkgr import Binary, BinProvider, BinProviderName, ProviderLookupDict, AptProvider, BrewProvider, EnvProvider +from pydantic_pkgr import ( + Binary, + BinProvider, + BinProviderName, + ProviderLookupDict, + AptProvider, + BrewProvider, + EnvProvider, +) + from .base_hook import BaseHook, HookType from ..config_stubs import AttrDict class BaseBinProvider(BaseHook, BinProvider): - hook_type: HookType = 'BINPROVIDER' + hook_type: HookType = "BINPROVIDER" # def on_get_abspath(self, bin_name: BinName, **context) -> Optional[HostBinPath]: # Class = super() @@ -34,11 +42,12 @@ class BaseBinProvider(BaseHook, BinProvider): super().register(settings, parent_plugin=parent_plugin) + class BaseBinary(BaseHook, Binary): hook_type: HookType = "BINARY" - - binproviders_supported: List[InstanceOf[BinProvider]] = Field(default_factory=list, alias='binproviders') - provider_overrides: Dict[BinProviderName, ProviderLookupDict] = Field(default_factory=dict, alias='overrides') + + binproviders_supported: List[InstanceOf[BinProvider]] = Field(default_factory=list, alias="binproviders") + provider_overrides: Dict[BinProviderName, ProviderLookupDict] = Field(default_factory=dict, alias="overrides") def register(self, settings, parent_plugin=None): # self._plugin = parent_plugin # for debugging only, never rely on this! @@ -49,7 +58,6 @@ class BaseBinary(BaseHook, Binary): super().register(settings, parent_plugin=parent_plugin) - apt = AptProvider() brew = BrewProvider() -env = EnvProvider(PATH=os.environ.get("PATH", "/bin")) +env = EnvProvider()