From 0bf9e55ca79983f4d5e5f42794f494f51f555345 Mon Sep 17 00:00:00 2001 From: Trenton Holmes <holmes.trenton@gmail.com> Date: Thu, 1 Sep 2022 10:35:33 -0700 Subject: [PATCH] Fixes a minor TODO in settings, and enables flake8 for settings.py --- src/paperless/settings.py | 37 +++++++++++++++++++---------------- src/paperless_tika/apps.py | 2 +- src/paperless_tika/parsers.py | 6 +++--- src/setup.cfg | 2 +- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/paperless/settings.py b/src/paperless/settings.py index 7ec260b1a..515e2a05f 100644 --- a/src/paperless/settings.py +++ b/src/paperless/settings.py @@ -285,7 +285,7 @@ SECRET_KEY = os.getenv( AUTH_PASSWORD_VALIDATORS = [ { - "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", # noqa: E501 }, { "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", @@ -445,13 +445,14 @@ LOGGING = { TASK_WORKERS = __get_int("PAPERLESS_TASK_WORKERS", 1) -PAPERLESS_WORKER_TIMEOUT: Final[int] = __get_int("PAPERLESS_WORKER_TIMEOUT", 1800) +WORKER_TIMEOUT: Final[int] = __get_int("PAPERLESS_WORKER_TIMEOUT", 1800) # Per django-q docs, timeout must be smaller than retry -# We default retry to 10s more than the timeout -PAPERLESS_WORKER_RETRY: Final[int] = __get_int( +# We default retry to 10s more than the timeout to silence the +# warning, as retry functionality isn't used. +WORKER_RETRY: Final[int] = __get_int( "PAPERLESS_WORKER_RETRY", - PAPERLESS_WORKER_TIMEOUT + 10, + WORKER_TIMEOUT + 10, ) Q_CLUSTER = { @@ -459,8 +460,8 @@ Q_CLUSTER = { "guard_cycle": 5, "catch_up": False, "recycle": 1, - "retry": PAPERLESS_WORKER_RETRY, - "timeout": PAPERLESS_WORKER_TIMEOUT, + "retry": WORKER_RETRY, + "timeout": WORKER_TIMEOUT, "workers": TASK_WORKERS, "redis": os.getenv("PAPERLESS_REDIS", "redis://localhost:6379"), "log_level": "DEBUG" if DEBUG else "INFO", @@ -507,7 +508,7 @@ CONSUMER_IGNORE_PATTERNS = list( json.loads( os.getenv( "PAPERLESS_CONSUMER_IGNORE_PATTERNS", - '[".DS_STORE/*", "._*", ".stfolder/*", ".stversions/*", ".localized/*", "desktop.ini"]', + '[".DS_STORE/*", "._*", ".stfolder/*", ".stversions/*", ".localized/*", "desktop.ini"]', # noqa: E501 ), ), ) @@ -589,7 +590,8 @@ DATE_ORDER = os.getenv("PAPERLESS_DATE_ORDER", "DMY") FILENAME_DATE_ORDER = os.getenv("PAPERLESS_FILENAME_DATE_ORDER") # Maximum number of dates taken from document start to end to show as suggestions for -# `created` date in the frontend. Duplicates are removed, which can result in fewer dates shown. +# `created` date in the frontend. Duplicates are removed, which can result in +# fewer dates shown. NUMBER_OF_SUGGESTED_DATES = __get_int("PAPERLESS_NUMBER_OF_SUGGESTED_DATES", 3) # Transformations applied before filename parsing @@ -600,7 +602,8 @@ for t in json.loads(os.getenv("PAPERLESS_FILENAME_PARSE_TRANSFORMS", "[]")): # Specify the filename format for out files FILENAME_FORMAT = os.getenv("PAPERLESS_FILENAME_FORMAT") -# If this is enabled, variables in filename format will resolve to empty-string instead of 'none'. +# If this is enabled, variables in filename format will resolve to +# empty-string instead of 'none'. # Directories with 'empty names' are omitted, too. FILENAME_FORMAT_REMOVE_NONE = __get_boolean( "PAPERLESS_FILENAME_FORMAT_REMOVE_NONE", @@ -612,16 +615,15 @@ THUMBNAIL_FONT_NAME = os.getenv( "/usr/share/fonts/liberation/LiberationSerif-Regular.ttf", ) -# TODO: this should not have a prefix. # Tika settings -PAPERLESS_TIKA_ENABLED = __get_boolean("PAPERLESS_TIKA_ENABLED", "NO") -PAPERLESS_TIKA_ENDPOINT = os.getenv("PAPERLESS_TIKA_ENDPOINT", "http://localhost:9998") -PAPERLESS_TIKA_GOTENBERG_ENDPOINT = os.getenv( +TIKA_ENABLED = __get_boolean("PAPERLESS_TIKA_ENABLED", "NO") +TIKA_ENDPOINT = os.getenv("PAPERLESS_TIKA_ENDPOINT", "http://localhost:9998") +TIKA_GOTENBERG_ENDPOINT = os.getenv( "PAPERLESS_TIKA_GOTENBERG_ENDPOINT", "http://localhost:3000", ) -if PAPERLESS_TIKA_ENABLED: +if TIKA_ENABLED: INSTALLED_APPS.append("paperless_tika.apps.PaperlessTikaConfig") @@ -634,8 +636,9 @@ def _parse_ignore_dates( user provided string(s) into dates Args: - env_ignore (str): The value of the environment variable, comma seperated dates - date_order (str, optional): The format of the date strings. Defaults to DATE_ORDER. + env_ignore (str): The value of the environment variable, comma separated dates + date_order (str, optional): The format of the date strings. + Defaults to DATE_ORDER. Returns: Set[datetime.datetime]: The set of parsed date objects diff --git a/src/paperless_tika/apps.py b/src/paperless_tika/apps.py index 5cab21427..012986543 100644 --- a/src/paperless_tika/apps.py +++ b/src/paperless_tika/apps.py @@ -9,6 +9,6 @@ class PaperlessTikaConfig(AppConfig): def ready(self): from documents.signals import document_consumer_declaration - if settings.PAPERLESS_TIKA_ENABLED: + if settings.TIKA_ENABLED: document_consumer_declaration.connect(tika_consumer_declaration) AppConfig.ready(self) diff --git a/src/paperless_tika/parsers.py b/src/paperless_tika/parsers.py index 0cd0caeab..e706e3aa5 100644 --- a/src/paperless_tika/parsers.py +++ b/src/paperless_tika/parsers.py @@ -27,7 +27,7 @@ class TikaDocumentParser(DocumentParser): ) def extract_metadata(self, document_path, mime_type): - tika_server = settings.PAPERLESS_TIKA_ENDPOINT + tika_server = settings.TIKA_ENDPOINT try: parsed = parser.from_file(document_path, tika_server) except Exception as e: @@ -49,7 +49,7 @@ class TikaDocumentParser(DocumentParser): def parse(self, document_path, mime_type, file_name=None): self.log("info", f"Sending {document_path} to Tika server") - tika_server = settings.PAPERLESS_TIKA_ENDPOINT + tika_server = settings.TIKA_ENDPOINT try: parsed = parser.from_file(document_path, tika_server) @@ -73,7 +73,7 @@ class TikaDocumentParser(DocumentParser): def convert_to_pdf(self, document_path, file_name): pdf_path = os.path.join(self.tempdir, "convert.pdf") - gotenberg_server = settings.PAPERLESS_TIKA_GOTENBERG_ENDPOINT + gotenberg_server = settings.TIKA_GOTENBERG_ENDPOINT url = gotenberg_server + "/forms/libreoffice/convert" self.log("info", f"Converting {document_path} to PDF as {pdf_path}") diff --git a/src/setup.cfg b/src/setup.cfg index 3b50151a7..409c5c7cd 100644 --- a/src/setup.cfg +++ b/src/setup.cfg @@ -1,5 +1,5 @@ [flake8] -extend-exclude = */migrations/*, paperless/settings.py, */tests/* +extend-exclude = */migrations/*, */tests/* # E203 - https://www.flake8rules.com/rules/E203.html # W503 - https://www.flake8rules.com/rules/W503.html ignore = E203,W503