archivebox.api.v1_personas

Module Contents

Classes

PersonaBrowserSettingsSchema

PersonaSyncSchema

PersonaSchema

PersonaSyncResponseSchema

Functions

browser_settings_to_config

find_persona

get_personas

List personas available on this ArchiveBox server.

sync_persona

Create or update a Persona from a browser extension profile export.

Data

router

API

archivebox.api.v1_personas.router[source]

‘Router(…)’

class archivebox.api.v1_personas.PersonaBrowserSettingsSchema[source]

Bases: ninja.Schema

user_agent: str = <Multiline-String>[source]
viewport_size: str = <Multiline-String>[source]
viewport_device_scale_factor: float | None[source]

None

language: str = <Multiline-String>[source]
timezone: str = <Multiline-String>[source]
geolocation: dict[str, Any] | None[source]

None

class archivebox.api.v1_personas.PersonaSyncSchema[source]

Bases: ninja.Schema

extension_persona_id: str[source]

None

name: str[source]

None

settings: archivebox.api.v1_personas.PersonaBrowserSettingsSchema[source]

‘Field(…)’

cookies_txt: str = <Multiline-String>[source]
auth_json: dict[str, Any][source]

‘Field(…)’

class archivebox.api.v1_personas.PersonaSchema[source]

Bases: ninja.Schema

TYPE: str[source]

‘personas.models.Persona’

id: uuid.UUID[source]

None

name: str[source]

None

created_at: datetime.datetime[source]

None

created_by_id: str[source]

None

created_by_username: str[source]

None

config: dict[str, Any] | None[source]

None

static resolve_created_by_id(obj)[source]
static resolve_created_by_username(obj) str[source]
static resolve_config(obj)[source]
class archivebox.api.v1_personas.PersonaSyncResponseSchema[source]

Bases: ninja.Schema

success: bool[source]

None

created: bool[source]

None

persona: archivebox.api.v1_personas.PersonaSchema[source]

None

cookies_file_written: bool[source]

None

auth_file_written: bool[source]

None

archivebox.api.v1_personas.browser_settings_to_config(extension_persona_id: str, settings: archivebox.api.v1_personas.PersonaBrowserSettingsSchema) dict[str, Any][source]
archivebox.api.v1_personas.find_persona(extension_persona_id: str, name: str) archivebox.personas.models.Persona | None[source]
archivebox.api.v1_personas.get_personas(request: django.http.HttpRequest)[source]

List personas available on this ArchiveBox server.

archivebox.api.v1_personas.sync_persona(request: django.http.HttpRequest, payload: archivebox.api.v1_personas.PersonaSyncSchema)[source]

Create or update a Persona from a browser extension profile export.

The extension sends browser settings plus portable auth artifacts. The server keeps browser override settings in Persona.config and writes cookies.txt / auth.json into the persona directory for extractors to consume.