mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-09-14 11:06:13 +05:00
22 KiB
22 KiB
{py:mod}archivebox.crawls.admin
:allowtitles:
Module Contents
Classes
:class: autosummary longtable
:align: left
* - {py:obj}`MaxDepthListFilter <archivebox.crawls.admin.MaxDepthListFilter>`
- ```{autodoc2-docstring} archivebox.crawls.admin.MaxDepthListFilter
:summary:
```
* - {py:obj}`URLFiltersField <archivebox.crawls.admin.URLFiltersField>`
- ```{autodoc2-docstring} archivebox.crawls.admin.URLFiltersField
:summary:
```
* - {py:obj}`CrawlAdminForm <archivebox.crawls.admin.CrawlAdminForm>`
- ```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm
:summary:
```
* - {py:obj}`CrawlAdmin <archivebox.crawls.admin.CrawlAdmin>`
-
* - {py:obj}`CrawlScheduleAdmin <archivebox.crawls.admin.CrawlScheduleAdmin>`
-
Functions
:class: autosummary longtable
:align: left
* - {py:obj}`render_snapshots_list <archivebox.crawls.admin.render_snapshots_list>`
- ```{autodoc2-docstring} archivebox.crawls.admin.render_snapshots_list
:summary:
```
* - {py:obj}`register_admin <archivebox.crawls.admin.register_admin>`
- ```{autodoc2-docstring} archivebox.crawls.admin.register_admin
:summary:
```
API
:canonical: archivebox.crawls.admin.MaxDepthListFilter
Bases: {py:obj}`django.contrib.admin.SimpleListFilter`
```{autodoc2-docstring} archivebox.crawls.admin.MaxDepthListFilter
```
```{rubric} Initialization
```
```{autodoc2-docstring} archivebox.crawls.admin.MaxDepthListFilter.__init__
```
````{py:attribute} title
:canonical: archivebox.crawls.admin.MaxDepthListFilter.title
:value: >
'max depth'
```{autodoc2-docstring} archivebox.crawls.admin.MaxDepthListFilter.title
```
````
````{py:attribute} parameter_name
:canonical: archivebox.crawls.admin.MaxDepthListFilter.parameter_name
:value: >
'max_depth'
```{autodoc2-docstring} archivebox.crawls.admin.MaxDepthListFilter.parameter_name
```
````
````{py:method} lookups(request, model_admin)
:canonical: archivebox.crawls.admin.MaxDepthListFilter.lookups
````
````{py:method} queryset(request, queryset)
:canonical: archivebox.crawls.admin.MaxDepthListFilter.queryset
````
:canonical: archivebox.crawls.admin.render_snapshots_list
```{autodoc2-docstring} archivebox.crawls.admin.render_snapshots_list
```
:canonical: archivebox.crawls.admin.URLFiltersField
Bases: {py:obj}`django.forms.Field`
```{autodoc2-docstring} archivebox.crawls.admin.URLFiltersField
```
```{rubric} Initialization
```
```{autodoc2-docstring} archivebox.crawls.admin.URLFiltersField.__init__
```
````{py:attribute} widget
:canonical: archivebox.crawls.admin.URLFiltersField.widget
:value: >
'URLFiltersWidget(...)'
```{autodoc2-docstring} archivebox.crawls.admin.URLFiltersField.widget
```
````
````{py:method} to_python(value)
:canonical: archivebox.crawls.admin.URLFiltersField.to_python
```{autodoc2-docstring} archivebox.crawls.admin.URLFiltersField.to_python
```
````
:canonical: archivebox.crawls.admin.CrawlAdminForm
Bases: {py:obj}`django.forms.ModelForm`
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm
```
```{rubric} Initialization
```
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.__init__
```
````{py:attribute} tags_editor
:canonical: archivebox.crawls.admin.CrawlAdminForm.tags_editor
:value: >
'CharField(...)'
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.tags_editor
```
````
````{py:attribute} url_filters
:canonical: archivebox.crawls.admin.CrawlAdminForm.url_filters
:value: >
'URLFiltersField(...)'
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.url_filters
```
````
`````{py:class} Meta
:canonical: archivebox.crawls.admin.CrawlAdminForm.Meta
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.Meta
```
````{py:attribute} model
:canonical: archivebox.crawls.admin.CrawlAdminForm.Meta.model
:value: >
None
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.Meta.model
```
````
````{py:attribute} fields
:canonical: archivebox.crawls.admin.CrawlAdminForm.Meta.fields
:value: >
'__all__'
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.Meta.fields
```
````
````{py:attribute} widgets
:canonical: archivebox.crawls.admin.CrawlAdminForm.Meta.widgets
:value: >
None
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.Meta.widgets
```
````
`````
````{py:method} extract_url_line(line)
:canonical: archivebox.crawls.admin.CrawlAdminForm.extract_url_line
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.extract_url_line
```
````
````{py:method} regex_escape(text)
:canonical: archivebox.crawls.admin.CrawlAdminForm.regex_escape
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.regex_escape
```
````
````{py:method} generated_host_allowlist(urls)
:canonical: archivebox.crawls.admin.CrawlAdminForm.generated_host_allowlist
:classmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.generated_host_allowlist
```
````
````{py:method} subpath_prefix(pathname)
:canonical: archivebox.crawls.admin.CrawlAdminForm.subpath_prefix
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.subpath_prefix
```
````
````{py:method} parsed_host_and_port(parsed)
:canonical: archivebox.crawls.admin.CrawlAdminForm.parsed_host_and_port
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.parsed_host_and_port
```
````
````{py:method} generated_subpath_allowlist(urls)
:canonical: archivebox.crawls.admin.CrawlAdminForm.generated_subpath_allowlist
:classmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.generated_subpath_allowlist
```
````
````{py:method} derive_filter_toggles(urls, allowlist)
:canonical: archivebox.crawls.admin.CrawlAdminForm.derive_filter_toggles
:classmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.derive_filter_toggles
```
````
````{py:method} effective_only_new(crawl=None)
:canonical: archivebox.crawls.admin.CrawlAdminForm.effective_only_new
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.effective_only_new
```
````
````{py:method} inherited_only_new(crawl)
:canonical: archivebox.crawls.admin.CrawlAdminForm.inherited_only_new
:staticmethod:
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.inherited_only_new
```
````
````{py:method} clean_tags_editor()
:canonical: archivebox.crawls.admin.CrawlAdminForm.clean_tags_editor
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.clean_tags_editor
```
````
````{py:method} clean_url_filters()
:canonical: archivebox.crawls.admin.CrawlAdminForm.clean_url_filters
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdminForm.clean_url_filters
```
````
````{py:method} save(commit=True)
:canonical: archivebox.crawls.admin.CrawlAdminForm.save
````
:canonical: archivebox.crawls.admin.CrawlAdmin
Bases: {py:obj}`archivebox.base_models.admin.ConfigEditorMixin`, {py:obj}`archivebox.base_models.admin.BaseModelAdmin`
````{py:attribute} form
:canonical: archivebox.crawls.admin.CrawlAdmin.form
:value: >
None
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.form
```
````
````{py:attribute} change_form_template
:canonical: archivebox.crawls.admin.CrawlAdmin.change_form_template
:value: >
'admin/crawls/crawl/change_form.html'
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.change_form_template
```
````
````{py:attribute} list_select_related
:canonical: archivebox.crawls.admin.CrawlAdmin.list_select_related
:value: >
()
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.list_select_related
```
````
````{py:attribute} paginator
:canonical: archivebox.crawls.admin.CrawlAdmin.paginator
:value: >
None
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.paginator
```
````
````{py:attribute} show_full_result_count
:canonical: archivebox.crawls.admin.CrawlAdmin.show_full_result_count
:value: >
False
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.show_full_result_count
```
````
````{py:attribute} list_display
:canonical: archivebox.crawls.admin.CrawlAdmin.list_display
:value: >
('short_id', 'permissions_badge', 'created_at', 'owner', 'depth', 'status_with_stop_reason', 'pause_...
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.list_display
```
````
````{py:attribute} sort_fields
:canonical: archivebox.crawls.admin.CrawlAdmin.sort_fields
:value: >
('id', 'created_at', 'created_by', 'max_depth', 'label', 'notes', 'schedule_str', 'status', 'retry_a...
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.sort_fields
```
````
````{py:attribute} search_fields
:canonical: archivebox.crawls.admin.CrawlAdmin.search_fields
:value: >
('id', 'created_by__username', 'max_depth', 'label', 'notes', 'schedule_id', 'status', 'urls')
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.search_fields
```
````
````{py:attribute} readonly_fields
:canonical: archivebox.crawls.admin.CrawlAdmin.readonly_fields
:value: >
('created_at', 'modified_at', 'stop_reason_display')
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.readonly_fields
```
````
````{py:attribute} fieldsets
:canonical: archivebox.crawls.admin.CrawlAdmin.fieldsets
:value: >
(('URLs',), ('Overview',), ('Config',))
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.fieldsets
```
````
````{py:attribute} add_fieldsets
:canonical: archivebox.crawls.admin.CrawlAdmin.add_fieldsets
:value: >
(('URLs',), ('Overview',), ('Config',))
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.add_fieldsets
```
````
````{py:attribute} list_filter
:canonical: archivebox.crawls.admin.CrawlAdmin.list_filter
:value: >
()
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.list_filter
```
````
````{py:attribute} ordering
:canonical: archivebox.crawls.admin.CrawlAdmin.ordering
:value: >
['-created_at', '-retry_at']
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.ordering
```
````
````{py:attribute} list_per_page
:canonical: archivebox.crawls.admin.CrawlAdmin.list_per_page
:value: >
50
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.list_per_page
```
````
````{py:attribute} actions
:canonical: archivebox.crawls.admin.CrawlAdmin.actions
:value: >
['pause_selected_crawls', 'resume_selected_crawls', 'seal_selected_crawls', 'delete_selected_batched...
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.actions
```
````
````{py:attribute} change_actions
:canonical: archivebox.crawls.admin.CrawlAdmin.change_actions
:value: >
['recrawl']
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.change_actions
```
````
`````{py:class} Media
:canonical: archivebox.crawls.admin.CrawlAdmin.Media
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.Media
```
````{py:attribute} css
:canonical: archivebox.crawls.admin.CrawlAdmin.Media.css
:value: >
None
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.Media.css
```
````
````{py:attribute} js
:canonical: archivebox.crawls.admin.CrawlAdmin.Media.js
:value: >
('admin/crawls/crawl_admin.js',)
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.Media.js
```
````
`````
````{py:method} changelist_view(request, extra_context=None)
:canonical: archivebox.crawls.admin.CrawlAdmin.changelist_view
````
````{py:method} should_annotate_snapshot_counts(request)
:canonical: archivebox.crawls.admin.CrawlAdmin.should_annotate_snapshot_counts
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.should_annotate_snapshot_counts
```
````
````{py:method} hydrate_visible_snapshot_counts(crawls)
:canonical: archivebox.crawls.admin.CrawlAdmin.hydrate_visible_snapshot_counts
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.hydrate_visible_snapshot_counts
```
````
````{py:method} get_queryset(request)
:canonical: archivebox.crawls.admin.CrawlAdmin.get_queryset
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.get_queryset
```
````
````{py:method} change_view(request, object_id, form_url='', extra_context=None)
:canonical: archivebox.crawls.admin.CrawlAdmin.change_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.change_view
```
````
````{py:method} add_view(request, form_url='', extra_context=None)
:canonical: archivebox.crawls.admin.CrawlAdmin.add_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.add_view
```
````
````{py:method} get_fieldsets(request, obj=None)
:canonical: archivebox.crawls.admin.CrawlAdmin.get_fieldsets
````
````{py:method} get_urls()
:canonical: archivebox.crawls.admin.CrawlAdmin.get_urls
````
````{py:method} get_actions(request)
:canonical: archivebox.crawls.admin.CrawlAdmin.get_actions
````
````{py:method} delete_selected_batched(request, queryset)
:canonical: archivebox.crawls.admin.CrawlAdmin.delete_selected_batched
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.delete_selected_batched
```
````
````{py:method} pause_selected_crawls(request, queryset)
:canonical: archivebox.crawls.admin.CrawlAdmin.pause_selected_crawls
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.pause_selected_crawls
```
````
````{py:method} resume_selected_crawls(request, queryset)
:canonical: archivebox.crawls.admin.CrawlAdmin.resume_selected_crawls
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.resume_selected_crawls
```
````
````{py:method} seal_selected_crawls(request, queryset)
:canonical: archivebox.crawls.admin.CrawlAdmin.seal_selected_crawls
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.seal_selected_crawls
```
````
````{py:method} set_crawl_permissions(request, queryset)
:canonical: archivebox.crawls.admin.CrawlAdmin.set_crawl_permissions
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.set_crawl_permissions
```
````
````{py:method} update_crawl_permissions(queryset, permissions)
:canonical: archivebox.crawls.admin.CrawlAdmin.update_crawl_permissions
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.update_crawl_permissions
```
````
````{py:method} recrawl(request, obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.recrawl
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.recrawl
```
````
````{py:method} stop_reason_display(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.stop_reason_display
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.stop_reason_display
```
````
````{py:method} stop_reason_for_crawl(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.stop_reason_for_crawl
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.stop_reason_for_crawl
```
````
````{py:method} limit_config_for_crawl(obj, output_dir)
:canonical: archivebox.crawls.admin.CrawlAdmin.limit_config_for_crawl
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.limit_config_for_crawl
```
````
````{py:method} status_with_stop_reason(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.status_with_stop_reason
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.status_with_stop_reason
```
````
````{py:method} short_id(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.short_id
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.short_id
```
````
````{py:method} owner(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.owner
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.owner
```
````
````{py:method} depth(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.depth
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.depth
```
````
````{py:method} permissions_badge(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.permissions_badge
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.permissions_badge
```
````
````{py:method} pause_resume_control(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.pause_resume_control
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.pause_resume_control
```
````
````{py:method} num_archived_snapshots(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.num_archived_snapshots
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.num_archived_snapshots
```
````
````{py:method} num_total_snapshots(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.num_total_snapshots
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.num_total_snapshots
```
````
````{py:method} snapshots_changelist(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.snapshots_changelist
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.snapshots_changelist
```
````
````{py:method} delete_snapshot_view(request: django.http.HttpRequest, object_id: str, snapshot_id: str)
:canonical: archivebox.crawls.admin.CrawlAdmin.delete_snapshot_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.delete_snapshot_view
```
````
````{py:method} exclude_domain_view(request: django.http.HttpRequest, object_id: str, snapshot_id: str)
:canonical: archivebox.crawls.admin.CrawlAdmin.exclude_domain_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.exclude_domain_view
```
````
````{py:method} set_permissions_view(request: django.http.HttpRequest, object_id: str)
:canonical: archivebox.crawls.admin.CrawlAdmin.set_permissions_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.set_permissions_view
```
````
````{py:method} schedule_str(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.schedule_str
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.schedule_str
```
````
````{py:method} urls_preview(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.urls_preview
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.urls_preview
```
````
````{py:method} urls_editor(obj)
:canonical: archivebox.crawls.admin.CrawlAdmin.urls_editor
```{autodoc2-docstring} archivebox.crawls.admin.CrawlAdmin.urls_editor
```
````
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin
Bases: {py:obj}`archivebox.base_models.admin.BaseModelAdmin`
````{py:attribute} list_display
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.list_display
:value: >
('id', 'created_at', 'created_by', 'label', 'notes', 'template_str', 'crawls', 'num_crawls', 'num_sn...
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.list_display
```
````
````{py:attribute} sort_fields
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.sort_fields
:value: >
('id', 'created_at', 'created_by', 'label', 'notes', 'template_str')
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.sort_fields
```
````
````{py:attribute} search_fields
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.search_fields
:value: >
('id', 'created_by__username', 'label', 'notes', 'schedule_id', 'template_id', 'template__urls')
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.search_fields
```
````
````{py:attribute} readonly_fields
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.readonly_fields
:value: >
('created_at', 'modified_at', 'crawls', 'snapshots')
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.readonly_fields
```
````
````{py:attribute} fieldsets
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.fieldsets
:value: >
(('Schedule Info',), ('Configuration',), ('Metadata',), ('Crawls',), ('Snapshots',))
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.fieldsets
```
````
````{py:attribute} list_filter
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.list_filter
:value: >
('created_by',)
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.list_filter
```
````
````{py:attribute} ordering
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.ordering
:value: >
['-created_at']
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.ordering
```
````
````{py:attribute} list_per_page
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.list_per_page
:value: >
100
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.list_per_page
```
````
````{py:attribute} actions
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.actions
:value: >
['delete_selected']
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.actions
```
````
````{py:method} get_queryset(request)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.get_queryset
````
````{py:method} change_view(request, object_id, form_url='', extra_context=None)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.change_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.change_view
```
````
````{py:method} add_view(request, form_url='', extra_context=None)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.add_view
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.add_view
```
````
````{py:method} get_fieldsets(request, obj=None)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.get_fieldsets
````
````{py:method} save_model(request, obj, form, change)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.save_model
````
````{py:method} template_str(obj)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.template_str
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.template_str
```
````
````{py:method} num_crawls(obj)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.num_crawls
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.num_crawls
```
````
````{py:method} num_snapshots(obj)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.num_snapshots
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.num_snapshots
```
````
````{py:method} crawls(obj)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.crawls
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.crawls
```
````
````{py:method} snapshots(obj)
:canonical: archivebox.crawls.admin.CrawlScheduleAdmin.snapshots
```{autodoc2-docstring} archivebox.crawls.admin.CrawlScheduleAdmin.snapshots
```
````
:canonical: archivebox.crawls.admin.register_admin
```{autodoc2-docstring} archivebox.crawls.admin.register_admin
```