paperap.resources.tasks module
METADATA:
- File: tasks.py
Project: paperap
- Created: 2025-03-04
Version: 0.0.9
Author: Jess Mann Email: jess@jmann.me
Copyright (c) 2025 Jess Mann
LAST MODIFIED:
2025-03-04 By Jess Mann
- class paperap.resources.tasks.TaskStatus(*values)[source]
Bases:
EnumStatus of a task.
- PENDING = 'PENDING'
- STARTED = 'STARTED'
- RETRY = 'RETRY'
- SUCCESS = 'SUCCESS'
- FAILURE = 'FAILURE'
- REVOKED = 'REVOKED'
- class paperap.resources.tasks.TaskResource(client)[source]
Bases:
StandardResource[Task,TaskQuerySet]Resource for managing tasks.
- Parameters:
client (
PaperlessClient)
- queryset_class
alias of
TaskQuerySet
- wait_for_task(task_id, max_wait=300, poll_interval=1.0, success_callback=None, failure_callback=None)[source]
Wait for a task to complete.
- Parameters:
task_id (
str) – The task ID to wait for.max_wait (
int) – Maximum time (in seconds) to wait for completion.poll_interval (
float) – Seconds between polling attempts.success_callback (
Optional[Callable[[Task],None]]) – Optional callback to execute when task succeeds.failure_callback (
Optional[Callable[[Task],None]]) – Optional callback to execute when task fails.
- Return type:
- Returns:
The completed Task instance.
- Raises:
APIError – If the task fails or times out.
ResourceNotFoundError – If the task cannot be found.
- wait_for_tasks(task_ids, max_wait=300, poll_interval=1.0)[source]
Wait for multiple tasks to complete.
- Parameters:
- Return type:
- Returns:
Dictionary mapping task IDs to completed Task instances.
- Raises:
APIError – If any task fails or times out.
- get_task_result(task_id, wait=True, max_wait=300)[source]
Get the result of a task.
- Parameters:
- Return type:
- Returns:
The result of the task.
- Raises:
APIError – If the task fails or times out.
ResourceNotFoundError – If the task cannot be found.
- execute_task(method, endpoint, data=None, max_wait=300)[source]
Execute a task synchronously.
This is a helper method that executes a task and waits for its completion.
- Parameters:
- Return type:
- Returns:
The task object, once completed.
- Raises:
APIError – If the task fails or times out
- endpoints: ClassVar[Endpoints] = {'create': <string.Template object>, 'delete': <string.Template object>, 'detail': <string.Template object>, 'list': <string.Template object>, 'update': <string.Template object>}
- client: PaperlessClient
- name: str