huge refactor of plugin system
This commit is contained in:
@@ -505,6 +505,18 @@ def _supports_capability(provider: Provider, capability: str) -> bool:
|
||||
return _supports_search(provider)
|
||||
if capability_key in {"upload", "file", "file-provider"}:
|
||||
return _supports_upload(provider)
|
||||
if capability_key in {"pipe-item-context", "pipe-context"}:
|
||||
return _class_supports_method(
|
||||
provider.__class__,
|
||||
"resolve_pipe_item_context",
|
||||
Provider.resolve_pipe_item_context,
|
||||
)
|
||||
if capability_key in {"playlist-store", "playback-store"}:
|
||||
return _class_supports_method(
|
||||
provider.__class__,
|
||||
"infer_playlist_store",
|
||||
Provider.infer_playlist_store,
|
||||
)
|
||||
return False
|
||||
|
||||
|
||||
@@ -514,6 +526,18 @@ def _info_supports_capability(info: PluginInfo, capability: str) -> bool:
|
||||
return bool(info.supports_search)
|
||||
if capability_key in {"upload", "file", "file-provider"}:
|
||||
return bool(info.supports_upload)
|
||||
if capability_key in {"pipe-item-context", "pipe-context"}:
|
||||
return _class_supports_method(
|
||||
info.plugin_class,
|
||||
"resolve_pipe_item_context",
|
||||
Provider.resolve_pipe_item_context,
|
||||
)
|
||||
if capability_key in {"playlist-store", "playback-store"}:
|
||||
return _class_supports_method(
|
||||
info.plugin_class,
|
||||
"infer_playlist_store",
|
||||
Provider.infer_playlist_store,
|
||||
)
|
||||
return False
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user