archivebox.plugins.forms

Module Contents

Classes

PluginConfigFormMixin

Functions

get_plugin_choices

Get available extractor plugins from discovered hooks.

get_plugin_choice_label

get_choice_field

_plugin_config_input_name

_schema_types

_jsonish

_same_config_value

_coerce_plugin_config_value

_resolve_required_binary_name

_iter_required_binary_names

_build_required_binary_url_lookup

Resolve admin URLs for every required binary across all plugin schemas in a single DB query.

_build_required_binary_links

get_plugin_config_binary_urls

Data

PLUGIN_CONFIG_FIELD_PREFIX

PLUGIN_GROUP_DEFINITIONS

HIDDEN_PLUGIN_CONFIG_UI_PLUGINS

TIMEOUT_INPUT_PATTERN

_BINARY_TEMPLATE_PATTERN

API

archivebox.plugins.forms.PLUGIN_CONFIG_FIELD_PREFIX[source]

‘plugin_config__’

archivebox.plugins.forms.PLUGIN_GROUP_DEFINITIONS[source]

((‘main_plugins’, ‘Main’, ‘’, ‘’, ‘’, (‘dom’, ‘screenshot’, ‘pdf’, ‘singlefile’, ‘wget’, ‘archivedot…

archivebox.plugins.forms.HIDDEN_PLUGIN_CONFIG_UI_PLUGINS[source]

None

archivebox.plugins.forms.TIMEOUT_INPUT_PATTERN[source]

‘(0|[1-9][0-9]|[0-9]+(?:.[0-9]+)?\s(?:s|sec|secs|second|seconds|m|min|mins|minute|minutes|h|hr|hrs…’

archivebox.plugins.forms.get_plugin_choices()[source]

Get available extractor plugins from discovered hooks.

archivebox.plugins.forms.get_plugin_choice_label(plugin_name: str, plugin_configs: dict[str, dict]) str[source]
archivebox.plugins.forms.get_choice_field(form: django.forms.Form, name: str) django.forms.ChoiceField[source]
archivebox.plugins.forms._plugin_config_input_name(plugin_name: str, config_key: str) str[source]
archivebox.plugins.forms._schema_types(schema: collections.abc.Mapping[str, Any]) list[str][source]
archivebox.plugins.forms._jsonish(value: Any) str[source]
archivebox.plugins.forms._same_config_value(left: Any, right: Any) bool[source]
archivebox.plugins.forms._coerce_plugin_config_value(raw_value: Any, schema: collections.abc.Mapping[str, Any]) Any[source]
class archivebox.plugins.forms.PluginConfigFormMixin[source]
plugin_groups: list[dict[str, Any]][source]

None

allow_crawl_execution_config_fields[source]

True

build_plugin_groups(runtime_config: collections.abc.Mapping[str, Any] | None = None) None[source]
_build_plugin_cards(field_name: str, plugin_names: collections.abc.Iterable[str], plugin_configs: dict[str, dict[str, Any]], runtime_config: collections.abc.Mapping[str, Any], binary_url_lookup: collections.abc.Mapping[str, str] | None = None) list[dict[str, Any]][source]
_build_plugin_config_field(plugin_name: str, config_key: str, prop_schema: collections.abc.Mapping[str, Any], runtime_config: collections.abc.Mapping[str, Any]) dict[str, Any][source]
clean_plugin_config_overrides(effective_config: collections.abc.Mapping[str, Any] | None = None) dict[str, Any][source]
plugin_config_keys() set[str][source]
archivebox.plugins.forms._BINARY_TEMPLATE_PATTERN[source]

‘compile(…)’

archivebox.plugins.forms._resolve_required_binary_name(template_name: str, runtime_config: collections.abc.Mapping[str, Any]) str[source]
archivebox.plugins.forms._iter_required_binary_names(required_binaries: collections.abc.Iterable[Any], runtime_config: collections.abc.Mapping[str, Any]) collections.abc.Iterable[str][source]
archivebox.plugins.forms._build_required_binary_url_lookup(plugin_configs: collections.abc.Mapping[str, dict[str, Any]], runtime_config: collections.abc.Mapping[str, Any]) dict[str, str][source]

Resolve admin URLs for every required binary across all plugin schemas in a single DB query.

archivebox.plugins.forms.get_plugin_config_binary_urls(runtime_config: collections.abc.Mapping[str, Any]) dict[str, str][source]