mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-14 23:03:22 +00:00
* Refactor: migrate exporter/importer from tqdm to PaperlessCommand.track() Replace direct tqdm usage in document_exporter and document_importer with the PaperlessCommand base class and its track() method, which is backed by Rich and handles --no-progress-bar automatically. Also removes the unused ProgressBarMixin from mixins.py. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Refactor: add explicit supports_progress_bar and supports_multiprocessing to all PaperlessCommand subclasses Each management command now explicitly declares both class attributes rather than relying on defaults, making intent unambiguous at a glance. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
774 B
Python
26 lines
774 B
Python
from typing import Any
|
|
|
|
from documents.management.commands.base import PaperlessCommand
|
|
from documents.tasks import llmindex_index
|
|
|
|
|
|
class Command(PaperlessCommand):
|
|
help = "Manages the LLM-based vector index for Paperless."
|
|
|
|
supports_progress_bar = True
|
|
supports_multiprocessing = False
|
|
|
|
def add_arguments(self, parser: Any) -> None:
|
|
super().add_arguments(parser)
|
|
parser.add_argument("command", choices=["rebuild", "update"])
|
|
|
|
def handle(self, *args: Any, **options: Any) -> None:
|
|
llmindex_index(
|
|
rebuild=options["command"] == "rebuild",
|
|
scheduled=False,
|
|
iter_wrapper=lambda docs: self.track(
|
|
docs,
|
|
description="Indexing documents...",
|
|
),
|
|
)
|