diff --git a/archivebox/builtin_plugins/ytdlp/apps.py b/archivebox/builtin_plugins/ytdlp/apps.py
index 3aed6e82..cb7758f4 100644
--- a/archivebox/builtin_plugins/ytdlp/apps.py
+++ b/archivebox/builtin_plugins/ytdlp/apps.py
@@ -38,9 +38,15 @@ class FfmpegBinary(BaseBinary):
binproviders_supported: List[InstanceOf[BinProvider]] = [env, apt, brew]
provider_overrides: Dict[BinProviderName, ProviderLookupDict] = {
- 'env': {'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout},
- 'apt': {'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout},
- 'brew': {'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout},
+ 'env': {
+ 'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout,
+ },
+ 'apt': {
+ 'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout,
+ },
+ 'brew': {
+ 'version': lambda: run(['ffmpeg', '-version'], stdout=PIPE, stderr=PIPE, text=True).stdout,
+ },
}
# def get_ffmpeg_version(self) -> Optional[str]:
diff --git a/archivebox/plugantic/base_binary.py b/archivebox/plugantic/base_binary.py
index 0f2d47d0..f95599d5 100644
--- a/archivebox/plugantic/base_binary.py
+++ b/archivebox/plugantic/base_binary.py
@@ -43,6 +43,7 @@ class BaseBinProvider(BinProvider):
class BaseBinary(Binary):
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):
if settings is None:
diff --git a/archivebox/plugantic/views.py b/archivebox/plugantic/views.py
index 168c8564..5b17b03b 100644
--- a/archivebox/plugantic/views.py
+++ b/archivebox/plugantic/views.py
@@ -103,7 +103,9 @@ def binaries_list_view(request: HttpRequest, **kwargs) -> TableContext:
if binary.name.lower().replace('-', '').replace('_', '').replace('ytdlp', 'youtubedl') in config_key.lower()
# or binary.name.lower().replace('-', '').replace('_', '') in str(config_value).lower()
)))
- rows['Overrides'].append(str(obj_to_yaml(binary.provider_overrides))[:200])
+ # if not binary.provider_overrides:
+ # import ipdb; ipdb.set_trace()
+ rows['Overrides'].append(str(obj_to_yaml(binary.provider_overrides) or str(binary.provider_overrides))[:200])
# rows['Description'].append(binary.description)
return TableContext(
@@ -161,11 +163,14 @@ def plugins_list_view(request: HttpRequest, **kwargs) -> TableContext:
rows = {
"Name": [],
+ "verbose_name": [],
+ "configs": [],
+ "binproviders": [],
"binaries": [],
"extractors": [],
"replayers": [],
- "configs": [],
- "verbose_name": [],
+ "checks": [],
+ "admindataviews": [],
}
@@ -176,6 +181,11 @@ def plugins_list_view(request: HttpRequest, **kwargs) -> TableContext:
print(e)
rows['Name'].append(ItemLink(plugin.name, key=plugin.name))
+ rows['verbose_name'].append(str(plugin.verbose_name))
+ rows['binproviders'].append(mark_safe(', '.join(
+ f'{binprovider.name}'
+ for binprovider in plugin.binproviders
+ )))
rows['binaries'].append(mark_safe(', '.join(
f'{binary.name}'
for binary in plugin.binaries
@@ -188,7 +198,8 @@ def plugins_list_view(request: HttpRequest, **kwargs) -> TableContext:
for config_key in configset.__fields__.keys()
if config_key != 'section' and config_key in settings.CONFIG
)))
- rows['verbose_name'].append(str(plugin.verbose_name))
+ rows['checks'].append(str(plugin.checks))
+ rows['admindataviews'].append(str(plugin.admindataviews))
return TableContext(
title="Installed plugins",
@@ -224,7 +235,7 @@ def plugin_detail_view(request: HttpRequest, key: str, **kwargs) -> ItemContext:
'binaries': plugin.binaries,
'extractors': plugin.extractors,
'replayers': plugin.replayers,
- 'schema': obj_to_yaml(plugin.model_dump(include=('name', 'verbose_name', 'app_label', settings.PLUGIN_KEYS.keys()))),
+ 'schema': obj_to_yaml(plugin.model_dump(include=('name', 'verbose_name', 'app_label', *settings.PLUGIN_KEYS.keys()))),
},
"help_texts": {
# TODO