archivebox.core.views

Module Contents

Classes

HomepageView

SnapshotView

SnapshotPathView

Serve snapshots by the new URL scheme: /////…

SnapshotHostView

Serve snapshot directory contents on .<listen_host>/.

SnapshotReplayView

Serve snapshot directory contents on a one-domain replay path.

OriginalDomainHostView

Serve responses from the most recent snapshot when using .<listen_host>/.

OriginalDomainReplayView

Serve original-domain replay content on a one-domain replay path.

PublicIndexView

AddView

WebAddView

HealthCheckView

A Django view that renders plain text β€œOK” for service discovery tools

Functions

_files_index_target

_find_snapshot_by_ref

_admin_login_redirect_or_forbidden

_safe_archive_relpath

_coerce_sort_timestamp

_snapshot_sort_key

_snapshot_id_from_replay_path

_replay_path_visible

_latest_response_match

_latest_responses_root

_latest_snapshot_for_domain

_original_request_url

_serve_responses_path

_serve_snapshot_replay

_serve_original_domain_replay

live_config_list_view

live_config_value_view

API

archivebox.core.views._files_index_target(snapshot: archivebox.core.models.Snapshot, archivefile: str | None) str[source]
archivebox.core.views._find_snapshot_by_ref(snapshot_ref: str) archivebox.core.models.Snapshot | None[source]
archivebox.core.views._admin_login_redirect_or_forbidden(request: django.http.HttpRequest)[source]
class archivebox.core.views.HomepageView[source]

Bases: django.views.View

get(request)[source]
class archivebox.core.views.SnapshotView[source]

Bases: django.views.View

static find_snapshots_for_url(path: str)[source]

Return a queryset of snapshots matching a URL-ish path. URL only β€” never tries ID matching.

Use find_snapshots_for_id separately if you also want to match by snapshot UUID.

static find_snapshots_for_id(slug: str)[source]

Return a queryset of snapshots matching a (possibly truncated) UUID via prefix or suffix.

Strips non-hex characters from slug (so input with or without hyphens both work). Requires at least 8 hex chars β€” shorter inputs return an empty queryset to avoid scanning the entire snapshots table on too-broad matches.

static render_live_index(request, snapshot)[source]
get(request, path)[source]
class archivebox.core.views.SnapshotPathView[source]

Bases: django.views.View

Serve snapshots by the new URL scheme: /////…

get(request, username: str, date: str | None = None, domain: str | None = None, snapshot_id: str | None = None, path: str = '', url: str | None = None)[source]
archivebox.core.views._safe_archive_relpath(path: str) str | None[source]
archivebox.core.views._coerce_sort_timestamp(value: str | float | None) float[source]
archivebox.core.views._snapshot_sort_key(match_path: str, cache: dict[str, float]) tuple[float, str][source]
archivebox.core.views._snapshot_id_from_replay_path(path: pathlib.Path) str | None[source]
archivebox.core.views._replay_path_visible(request: django.http.HttpRequest, path: pathlib.Path) bool[source]
archivebox.core.views._latest_response_match(request: django.http.HttpRequest, domain: str, rel_path: str, *, data_root: pathlib.Path) tuple[pathlib.Path, pathlib.Path] | None[source]
archivebox.core.views._latest_responses_root(request: django.http.HttpRequest, domain: str, *, data_root: pathlib.Path) pathlib.Path | None[source]
archivebox.core.views._latest_snapshot_for_domain(request: django.http.HttpRequest, domain: str) archivebox.core.models.Snapshot | None[source]
archivebox.core.views._original_request_url(domain: str, path: str = '', query_string: str = '') str[source]
archivebox.core.views._serve_responses_path(request, responses_root: pathlib.Path, rel_path: str, show_indexes: bool)[source]
archivebox.core.views._serve_snapshot_replay(request: django.http.HttpRequest, snapshot: archivebox.core.models.Snapshot, path: str = '')[source]
archivebox.core.views._serve_original_domain_replay(request: django.http.HttpRequest, domain: str, path: str = '')[source]
class archivebox.core.views.SnapshotHostView[source]

Bases: django.views.View

Serve snapshot directory contents on .<listen_host>/.

get(request, snapshot_id: str, path: str = '')[source]
class archivebox.core.views.SnapshotReplayView[source]

Bases: django.views.View

Serve snapshot directory contents on a one-domain replay path.

get(request, snapshot_id: str, path: str = '')[source]
class archivebox.core.views.OriginalDomainHostView[source]

Bases: django.views.View

Serve responses from the most recent snapshot when using .<listen_host>/.

get(request, domain: str, path: str = '')[source]
class archivebox.core.views.OriginalDomainReplayView[source]

Bases: django.views.View

Serve original-domain replay content on a one-domain replay path.

get(request, domain: str, path: str = '')[source]
class archivebox.core.views.PublicIndexView[source]

Bases: django.views.generic.list.ListView

template_name[source]

β€˜public_index.html’

model[source]

None

ordering[source]

[β€˜-bookmarked_at’, β€˜-created_at’]

paginator_class[source]

None

get_paginate_by(queryset)[source]
get_context_data(**kwargs)[source]
get_queryset(**kwargs)[source]
get(*args, **kwargs)[source]
class archivebox.core.views.AddView[source]

Bases: django.contrib.auth.mixins.UserPassesTestMixin, django.views.generic.FormView

template_name[source]

β€˜add.html’

form_class[source]

None

get_initial()[source]

Prefill the AddLinkForm with the β€˜url’ GET parameter

get_form_kwargs()[source]
test_func()[source]
_can_override_crawl_config() bool[source]
_get_custom_config_overrides(form: archivebox.core.forms.AddLinkForm) dict[source]
get_context_data(**kwargs)[source]
_create_crawl_from_form(form, *, created_by_id=None) archivebox.crawls.models.Crawl[source]
form_valid(form)[source]
class archivebox.core.views.WebAddView[source]

Bases: archivebox.core.views.AddView

_latest_snapshot_for_url(requested_url: str)[source]
_normalize_add_url(requested_url: str) str[source]
dispatch(request, *args, **kwargs)[source]
get(request: django.http.HttpRequest, *args: object, **kwargs: object)[source]
class archivebox.core.views.HealthCheckView[source]

Bases: django.views.View

A Django view that renders plain text β€œOK” for service discovery tools

get(request)[source]

Handle a GET request

archivebox.core.views.live_config_list_view(request: django.http.HttpRequest, **kwargs) admin_data_views.typing.TableContext[source]
archivebox.core.views.live_config_value_view(request: django.http.HttpRequest, key: str, **kwargs) admin_data_views.typing.ItemContext[source]