ArchiveBox/docs/apidocs/archivebox/archivebox.core.views.md

23 KiB

{py:mod}archivebox.core.views

:allowtitles:

Module Contents

Classes

:class: autosummary longtable
:align: left

* - {py:obj}`SnapshotReplayAuthView <archivebox.core.views.SnapshotReplayAuthView>`
  - ```{autodoc2-docstring} archivebox.core.views.SnapshotReplayAuthView
    :summary:
    ```
* - {py:obj}`HomepageView <archivebox.core.views.HomepageView>`
  -
* - {py:obj}`SnapshotView <archivebox.core.views.SnapshotView>`
  -
* - {py:obj}`SnapshotPathView <archivebox.core.views.SnapshotPathView>`
  - ```{autodoc2-docstring} archivebox.core.views.SnapshotPathView
    :summary:
    ```
* - {py:obj}`SnapshotHostView <archivebox.core.views.SnapshotHostView>`
  - ```{autodoc2-docstring} archivebox.core.views.SnapshotHostView
    :summary:
    ```
* - {py:obj}`SnapshotReplayView <archivebox.core.views.SnapshotReplayView>`
  - ```{autodoc2-docstring} archivebox.core.views.SnapshotReplayView
    :summary:
    ```
* - {py:obj}`OriginalDomainHostView <archivebox.core.views.OriginalDomainHostView>`
  - ```{autodoc2-docstring} archivebox.core.views.OriginalDomainHostView
    :summary:
    ```
* - {py:obj}`OriginalDomainReplayView <archivebox.core.views.OriginalDomainReplayView>`
  - ```{autodoc2-docstring} archivebox.core.views.OriginalDomainReplayView
    :summary:
    ```
* - {py:obj}`PublicIndexView <archivebox.core.views.PublicIndexView>`
  -
* - {py:obj}`AddView <archivebox.core.views.AddView>`
  -
* - {py:obj}`WebAddView <archivebox.core.views.WebAddView>`
  -
* - {py:obj}`HealthCheckView <archivebox.core.views.HealthCheckView>`
  - ```{autodoc2-docstring} archivebox.core.views.HealthCheckView
    :summary:
    ```

Functions

:class: autosummary longtable
:align: left

* - {py:obj}`_files_index_target <archivebox.core.views._files_index_target>`
  - ```{autodoc2-docstring} archivebox.core.views._files_index_target
    :summary:
    ```
* - {py:obj}`_find_snapshot_by_ref <archivebox.core.views._find_snapshot_by_ref>`
  - ```{autodoc2-docstring} archivebox.core.views._find_snapshot_by_ref
    :summary:
    ```
* - {py:obj}`_admin_login_redirect_or_forbidden <archivebox.core.views._admin_login_redirect_or_forbidden>`
  - ```{autodoc2-docstring} archivebox.core.views._admin_login_redirect_or_forbidden
    :summary:
    ```
* - {py:obj}`_replay_cookie_name <archivebox.core.views._replay_cookie_name>`
  - ```{autodoc2-docstring} archivebox.core.views._replay_cookie_name
    :summary:
    ```
* - {py:obj}`_clean_replay_next <archivebox.core.views._clean_replay_next>`
  - ```{autodoc2-docstring} archivebox.core.views._clean_replay_next
    :summary:
    ```
* - {py:obj}`_replay_payload_is_valid <archivebox.core.views._replay_payload_is_valid>`
  - ```{autodoc2-docstring} archivebox.core.views._replay_payload_is_valid
    :summary:
    ```
* - {py:obj}`_has_replay_cookie <archivebox.core.views._has_replay_cookie>`
  - ```{autodoc2-docstring} archivebox.core.views._has_replay_cookie
    :summary:
    ```
* - {py:obj}`_private_snapshot_auth_redirect <archivebox.core.views._private_snapshot_auth_redirect>`
  - ```{autodoc2-docstring} archivebox.core.views._private_snapshot_auth_redirect
    :summary:
    ```
* - {py:obj}`_replay_auth_response <archivebox.core.views._replay_auth_response>`
  - ```{autodoc2-docstring} archivebox.core.views._replay_auth_response
    :summary:
    ```
* - {py:obj}`_safe_archive_relpath <archivebox.core.views._safe_archive_relpath>`
  - ```{autodoc2-docstring} archivebox.core.views._safe_archive_relpath
    :summary:
    ```
* - {py:obj}`_resolve_archiveresult_relpath <archivebox.core.views._resolve_archiveresult_relpath>`
  - ```{autodoc2-docstring} archivebox.core.views._resolve_archiveresult_relpath
    :summary:
    ```
* - {py:obj}`_coerce_sort_timestamp <archivebox.core.views._coerce_sort_timestamp>`
  - ```{autodoc2-docstring} archivebox.core.views._coerce_sort_timestamp
    :summary:
    ```
* - {py:obj}`_snapshot_sort_key <archivebox.core.views._snapshot_sort_key>`
  - ```{autodoc2-docstring} archivebox.core.views._snapshot_sort_key
    :summary:
    ```
* - {py:obj}`_snapshot_id_from_replay_path <archivebox.core.views._snapshot_id_from_replay_path>`
  - ```{autodoc2-docstring} archivebox.core.views._snapshot_id_from_replay_path
    :summary:
    ```
* - {py:obj}`_replay_path_visible <archivebox.core.views._replay_path_visible>`
  - ```{autodoc2-docstring} archivebox.core.views._replay_path_visible
    :summary:
    ```
* - {py:obj}`_latest_response_match <archivebox.core.views._latest_response_match>`
  - ```{autodoc2-docstring} archivebox.core.views._latest_response_match
    :summary:
    ```
* - {py:obj}`_latest_responses_root <archivebox.core.views._latest_responses_root>`
  - ```{autodoc2-docstring} archivebox.core.views._latest_responses_root
    :summary:
    ```
* - {py:obj}`_latest_snapshot_for_domain <archivebox.core.views._latest_snapshot_for_domain>`
  - ```{autodoc2-docstring} archivebox.core.views._latest_snapshot_for_domain
    :summary:
    ```
* - {py:obj}`_original_request_url <archivebox.core.views._original_request_url>`
  - ```{autodoc2-docstring} archivebox.core.views._original_request_url
    :summary:
    ```
* - {py:obj}`_serve_responses_path <archivebox.core.views._serve_responses_path>`
  - ```{autodoc2-docstring} archivebox.core.views._serve_responses_path
    :summary:
    ```
* - {py:obj}`_serve_snapshot_replay <archivebox.core.views._serve_snapshot_replay>`
  - ```{autodoc2-docstring} archivebox.core.views._serve_snapshot_replay
    :summary:
    ```
* - {py:obj}`_serve_original_domain_replay <archivebox.core.views._serve_original_domain_replay>`
  - ```{autodoc2-docstring} archivebox.core.views._serve_original_domain_replay
    :summary:
    ```
* - {py:obj}`live_config_list_view <archivebox.core.views.live_config_list_view>`
  - ```{autodoc2-docstring} archivebox.core.views.live_config_list_view
    :summary:
    ```
* - {py:obj}`live_config_value_view <archivebox.core.views.live_config_value_view>`
  - ```{autodoc2-docstring} archivebox.core.views.live_config_value_view
    :summary:
    ```

Data

:class: autosummary longtable
:align: left

* - {py:obj}`REPLAY_AUTH_SALT <archivebox.core.views.REPLAY_AUTH_SALT>`
  - ```{autodoc2-docstring} archivebox.core.views.REPLAY_AUTH_SALT
    :summary:
    ```
* - {py:obj}`REPLAY_COOKIE_PREFIX <archivebox.core.views.REPLAY_COOKIE_PREFIX>`
  - ```{autodoc2-docstring} archivebox.core.views.REPLAY_COOKIE_PREFIX
    :summary:
    ```
* - {py:obj}`REPLAY_GRANT_MAX_AGE <archivebox.core.views.REPLAY_GRANT_MAX_AGE>`
  - ```{autodoc2-docstring} archivebox.core.views.REPLAY_GRANT_MAX_AGE
    :summary:
    ```

API

:canonical: archivebox.core.views._files_index_target

```{autodoc2-docstring} archivebox.core.views._files_index_target
```
:canonical: archivebox.core.views._find_snapshot_by_ref

```{autodoc2-docstring} archivebox.core.views._find_snapshot_by_ref
```
:canonical: archivebox.core.views._admin_login_redirect_or_forbidden

```{autodoc2-docstring} archivebox.core.views._admin_login_redirect_or_forbidden
```
:canonical: archivebox.core.views.REPLAY_AUTH_SALT
:value: >
   'archivebox.private-snapshot-replay'

```{autodoc2-docstring} archivebox.core.views.REPLAY_AUTH_SALT
```

:canonical: archivebox.core.views.REPLAY_COOKIE_PREFIX
:value: >
   None

```{autodoc2-docstring} archivebox.core.views.REPLAY_COOKIE_PREFIX
```

:canonical: archivebox.core.views.REPLAY_GRANT_MAX_AGE
:value: >
   60

```{autodoc2-docstring} archivebox.core.views.REPLAY_GRANT_MAX_AGE
```

:canonical: archivebox.core.views._replay_cookie_name

```{autodoc2-docstring} archivebox.core.views._replay_cookie_name
```
:canonical: archivebox.core.views._clean_replay_next

```{autodoc2-docstring} archivebox.core.views._clean_replay_next
```
:canonical: archivebox.core.views._replay_payload_is_valid

```{autodoc2-docstring} archivebox.core.views._replay_payload_is_valid
```
:canonical: archivebox.core.views._has_replay_cookie

```{autodoc2-docstring} archivebox.core.views._has_replay_cookie
```
:canonical: archivebox.core.views._private_snapshot_auth_redirect

```{autodoc2-docstring} archivebox.core.views._private_snapshot_auth_redirect
```
:canonical: archivebox.core.views._replay_auth_response

```{autodoc2-docstring} archivebox.core.views._replay_auth_response
```
:canonical: archivebox.core.views.SnapshotReplayAuthView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayAuthView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayAuthView.__init__
```

````{py:method} get(request: django.http.HttpRequest)
:canonical: archivebox.core.views.SnapshotReplayAuthView.get

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayAuthView.get
```

````

:canonical: archivebox.core.views.HomepageView

Bases: {py:obj}`django.views.View`

````{py:method} get(request)
:canonical: archivebox.core.views.HomepageView.get

```{autodoc2-docstring} archivebox.core.views.HomepageView.get
```

````

:canonical: archivebox.core.views.SnapshotView

Bases: {py:obj}`django.views.View`

````{py:method} find_snapshots_for_url(path: str)
:canonical: archivebox.core.views.SnapshotView.find_snapshots_for_url
:staticmethod:

```{autodoc2-docstring} archivebox.core.views.SnapshotView.find_snapshots_for_url
```

````

````{py:method} find_snapshots_for_id(slug: str)
:canonical: archivebox.core.views.SnapshotView.find_snapshots_for_id
:staticmethod:

```{autodoc2-docstring} archivebox.core.views.SnapshotView.find_snapshots_for_id
```

````

````{py:method} render_live_index(request, snapshot)
:canonical: archivebox.core.views.SnapshotView.render_live_index
:staticmethod:

```{autodoc2-docstring} archivebox.core.views.SnapshotView.render_live_index
```

````

````{py:method} get(request, path)
:canonical: archivebox.core.views.SnapshotView.get

```{autodoc2-docstring} archivebox.core.views.SnapshotView.get
```

````

:canonical: archivebox.core.views.SnapshotPathView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.SnapshotPathView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.SnapshotPathView.__init__
```

````{py:method} get(request, username: str, date: str | None = None, domain: str | None = None, snapshot_id: str | None = None, path: str = '', url: str | None = None)
:canonical: archivebox.core.views.SnapshotPathView.get

```{autodoc2-docstring} archivebox.core.views.SnapshotPathView.get
```

````

:canonical: archivebox.core.views._safe_archive_relpath

```{autodoc2-docstring} archivebox.core.views._safe_archive_relpath
```
:canonical: archivebox.core.views._resolve_archiveresult_relpath

```{autodoc2-docstring} archivebox.core.views._resolve_archiveresult_relpath
```
:canonical: archivebox.core.views._coerce_sort_timestamp

```{autodoc2-docstring} archivebox.core.views._coerce_sort_timestamp
```
:canonical: archivebox.core.views._snapshot_sort_key

```{autodoc2-docstring} archivebox.core.views._snapshot_sort_key
```
:canonical: archivebox.core.views._snapshot_id_from_replay_path

```{autodoc2-docstring} archivebox.core.views._snapshot_id_from_replay_path
```
:canonical: archivebox.core.views._replay_path_visible

```{autodoc2-docstring} archivebox.core.views._replay_path_visible
```
:canonical: archivebox.core.views._latest_response_match

```{autodoc2-docstring} archivebox.core.views._latest_response_match
```
:canonical: archivebox.core.views._latest_responses_root

```{autodoc2-docstring} archivebox.core.views._latest_responses_root
```
:canonical: archivebox.core.views._latest_snapshot_for_domain

```{autodoc2-docstring} archivebox.core.views._latest_snapshot_for_domain
```
:canonical: archivebox.core.views._original_request_url

```{autodoc2-docstring} archivebox.core.views._original_request_url
```
:canonical: archivebox.core.views._serve_responses_path

```{autodoc2-docstring} archivebox.core.views._serve_responses_path
```
:canonical: archivebox.core.views._serve_snapshot_replay

```{autodoc2-docstring} archivebox.core.views._serve_snapshot_replay
```
:canonical: archivebox.core.views._serve_original_domain_replay

```{autodoc2-docstring} archivebox.core.views._serve_original_domain_replay
```
:canonical: archivebox.core.views.SnapshotHostView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.SnapshotHostView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.SnapshotHostView.__init__
```

````{py:method} get(request, snapshot_id: str, path: str = '')
:canonical: archivebox.core.views.SnapshotHostView.get

```{autodoc2-docstring} archivebox.core.views.SnapshotHostView.get
```

````

:canonical: archivebox.core.views.SnapshotReplayView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayView.__init__
```

````{py:method} get(request, snapshot_id: str, path: str = '')
:canonical: archivebox.core.views.SnapshotReplayView.get

```{autodoc2-docstring} archivebox.core.views.SnapshotReplayView.get
```

````

:canonical: archivebox.core.views.OriginalDomainHostView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.OriginalDomainHostView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.OriginalDomainHostView.__init__
```

````{py:method} get(request, domain: str, path: str = '')
:canonical: archivebox.core.views.OriginalDomainHostView.get

```{autodoc2-docstring} archivebox.core.views.OriginalDomainHostView.get
```

````

:canonical: archivebox.core.views.OriginalDomainReplayView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.OriginalDomainReplayView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.OriginalDomainReplayView.__init__
```

````{py:method} get(request, domain: str, path: str = '')
:canonical: archivebox.core.views.OriginalDomainReplayView.get

```{autodoc2-docstring} archivebox.core.views.OriginalDomainReplayView.get
```

````

:canonical: archivebox.core.views.PublicIndexView

Bases: {py:obj}`django.views.generic.list.ListView`

````{py:attribute} template_name
:canonical: archivebox.core.views.PublicIndexView.template_name
:value: >
   'public_index.html'

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.template_name
```

````

````{py:attribute} model
:canonical: archivebox.core.views.PublicIndexView.model
:value: >
   None

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.model
```

````

````{py:attribute} ordering
:canonical: archivebox.core.views.PublicIndexView.ordering
:value: >
   ['-bookmarked_at', '-created_at']

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.ordering
```

````

````{py:attribute} paginator_class
:canonical: archivebox.core.views.PublicIndexView.paginator_class
:value: >
   None

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.paginator_class
```

````

````{py:attribute} public_page_scan_chunk_size
:canonical: archivebox.core.views.PublicIndexView.public_page_scan_chunk_size
:value: >
   50

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.public_page_scan_chunk_size
```

````

````{py:method} get_paginate_by(queryset)
:canonical: archivebox.core.views.PublicIndexView.get_paginate_by

````

````{py:method} _base_public_snapshot_fields() -> tuple[str, ...]
:canonical: archivebox.core.views.PublicIndexView._base_public_snapshot_fields

```{autodoc2-docstring} archivebox.core.views.PublicIndexView._base_public_snapshot_fields
```

````

````{py:method} _ordered_public_page_from_order_index(*, page_number: int, page_size: int) -> list[archivebox.core.models.Snapshot] | None
:canonical: archivebox.core.views.PublicIndexView._ordered_public_page_from_order_index

```{autodoc2-docstring} archivebox.core.views.PublicIndexView._ordered_public_page_from_order_index
```

````

````{py:method} paginate_queryset(queryset, page_size)
:canonical: archivebox.core.views.PublicIndexView.paginate_queryset

````

````{py:method} get_context_data(**kwargs)
:canonical: archivebox.core.views.PublicIndexView.get_context_data

````

````{py:method} get_exact_public_snapshot_count() -> int
:canonical: archivebox.core.views.PublicIndexView.get_exact_public_snapshot_count

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.get_exact_public_snapshot_count
```

````

````{py:method} get_queryset(**kwargs)
:canonical: archivebox.core.views.PublicIndexView.get_queryset

````

````{py:method} get(*args, **kwargs)
:canonical: archivebox.core.views.PublicIndexView.get

```{autodoc2-docstring} archivebox.core.views.PublicIndexView.get
```

````

:canonical: archivebox.core.views.AddView

Bases: {py:obj}`django.contrib.auth.mixins.UserPassesTestMixin`, {py:obj}`django.views.generic.FormView`

````{py:attribute} template_name
:canonical: archivebox.core.views.AddView.template_name
:value: >
   'add.html'

```{autodoc2-docstring} archivebox.core.views.AddView.template_name
```

````

````{py:attribute} form_class
:canonical: archivebox.core.views.AddView.form_class
:value: >
   None

```{autodoc2-docstring} archivebox.core.views.AddView.form_class
```

````

````{py:method} get_initial()
:canonical: archivebox.core.views.AddView.get_initial

```{autodoc2-docstring} archivebox.core.views.AddView.get_initial
```

````

````{py:method} get_form_kwargs()
:canonical: archivebox.core.views.AddView.get_form_kwargs

````

````{py:method} test_func()
:canonical: archivebox.core.views.AddView.test_func

```{autodoc2-docstring} archivebox.core.views.AddView.test_func
```

````

````{py:method} _can_override_crawl_config() -> bool
:canonical: archivebox.core.views.AddView._can_override_crawl_config

```{autodoc2-docstring} archivebox.core.views.AddView._can_override_crawl_config
```

````

````{py:method} _get_custom_config_overrides(form: archivebox.core.forms.AddLinkForm) -> dict
:canonical: archivebox.core.views.AddView._get_custom_config_overrides

```{autodoc2-docstring} archivebox.core.views.AddView._get_custom_config_overrides
```

````

````{py:method} get_context_data(**kwargs)
:canonical: archivebox.core.views.AddView.get_context_data

````

````{py:method} _create_crawl_from_form(form, *, created_by_id=None) -> archivebox.crawls.models.Crawl
:canonical: archivebox.core.views.AddView._create_crawl_from_form

```{autodoc2-docstring} archivebox.core.views.AddView._create_crawl_from_form
```

````

````{py:method} form_valid(form)
:canonical: archivebox.core.views.AddView.form_valid

````

:canonical: archivebox.core.views.WebAddView

Bases: {py:obj}`archivebox.core.views.AddView`

````{py:method} _latest_snapshot_for_url(requested_url: str)
:canonical: archivebox.core.views.WebAddView._latest_snapshot_for_url

```{autodoc2-docstring} archivebox.core.views.WebAddView._latest_snapshot_for_url
```

````

````{py:method} _normalize_add_url(requested_url: str) -> str
:canonical: archivebox.core.views.WebAddView._normalize_add_url

```{autodoc2-docstring} archivebox.core.views.WebAddView._normalize_add_url
```

````

````{py:method} dispatch(request, *args, **kwargs)
:canonical: archivebox.core.views.WebAddView.dispatch

```{autodoc2-docstring} archivebox.core.views.WebAddView.dispatch
```

````

````{py:method} get(request: django.http.HttpRequest, *args: object, **kwargs: object)
:canonical: archivebox.core.views.WebAddView.get

````

:canonical: archivebox.core.views.HealthCheckView

Bases: {py:obj}`django.views.View`

```{autodoc2-docstring} archivebox.core.views.HealthCheckView
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.core.views.HealthCheckView.__init__
```

````{py:method} get(request)
:canonical: archivebox.core.views.HealthCheckView.get

```{autodoc2-docstring} archivebox.core.views.HealthCheckView.get
```

````

:canonical: archivebox.core.views.live_config_list_view

```{autodoc2-docstring} archivebox.core.views.live_config_list_view
```
:canonical: archivebox.core.views.live_config_value_view

```{autodoc2-docstring} archivebox.core.views.live_config_value_view
```