]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Chore: update settings to pathlib
authorshamoon <4887959+shamoon@users.noreply.github.com>
Fri, 20 Jun 2025 17:50:44 +0000 (10:50 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Fri, 20 Jun 2025 17:50:44 +0000 (10:50 -0700)
pyproject.toml
src/paperless/settings.py

index 24e881b0b6bfcc6303398e27380c23bae2e80348..dc7d4f6013516886caa48d74d48e5ca108df6bdb 100644 (file)
@@ -221,9 +221,6 @@ lint.per-file-ignores."src/documents/parsers.py" = [
 lint.per-file-ignores."src/documents/signals/handlers.py" = [
   "PTH",
 ] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/settings.py" = [
-  "PTH",
-] # TODO Enable & remove
 lint.per-file-ignores."src/paperless_tesseract/tests/test_parser.py" = [
   "RUF001",
 ]
index 3b69b2fc2a71f44125fd89a4fe8971af0f2589cf..07fba9314097bf89a763057eb3c7d8abe45a00e7 100644 (file)
@@ -16,15 +16,15 @@ from django.utils.translation import gettext_lazy as _
 from dotenv import load_dotenv
 
 # Tap paperless.conf if it's available
-configuration_path = os.getenv("PAPERLESS_CONFIGURATION_PATH")
-if configuration_path and os.path.exists(configuration_path):
-    load_dotenv(configuration_path)
-elif os.path.exists("../paperless.conf"):
-    load_dotenv("../paperless.conf")
-elif os.path.exists("/etc/paperless.conf"):
-    load_dotenv("/etc/paperless.conf")
-elif os.path.exists("/usr/local/etc/paperless.conf"):
-    load_dotenv("/usr/local/etc/paperless.conf")
+for path in [
+    os.getenv("PAPERLESS_CONFIGURATION_PATH"),
+    "../paperless.conf",
+    "/etc/paperless.conf",
+    "/usr/local/etc/paperless.conf",
+]:
+    if path and Path(path).exists():
+        load_dotenv(path)
+        break
 
 # There are multiple levels of concurrency in paperless:
 #  - Multiple consumers may be run in parallel.
@@ -674,7 +674,7 @@ def _parse_db_settings() -> dict:
     databases = {
         "default": {
             "ENGINE": "django.db.backends.sqlite3",
-            "NAME": os.path.join(DATA_DIR, "db.sqlite3"),
+            "NAME": str(DATA_DIR / "db.sqlite3"),
             "OPTIONS": {},
         },
     }
@@ -789,7 +789,7 @@ LANGUAGES = [
     ("zh-tw", _("Chinese Traditional")),
 ]
 
-LOCALE_PATHS = [os.path.join(BASE_DIR, "locale")]
+LOCALE_PATHS = [str(BASE_DIR / "locale")]
 
 TIME_ZONE = os.getenv("PAPERLESS_TIME_ZONE", "UTC")
 
@@ -832,21 +832,21 @@ LOGGING = {
         "file_paperless": {
             "class": "concurrent_log_handler.ConcurrentRotatingFileHandler",
             "formatter": "verbose",
-            "filename": os.path.join(LOGGING_DIR, "paperless.log"),
+            "filename": str(LOGGING_DIR / "paperless.log"),
             "maxBytes": LOGROTATE_MAX_SIZE,
             "backupCount": LOGROTATE_MAX_BACKUPS,
         },
         "file_mail": {
             "class": "concurrent_log_handler.ConcurrentRotatingFileHandler",
             "formatter": "verbose",
-            "filename": os.path.join(LOGGING_DIR, "mail.log"),
+            "filename": str(LOGGING_DIR / "mail.log"),
             "maxBytes": LOGROTATE_MAX_SIZE,
             "backupCount": LOGROTATE_MAX_BACKUPS,
         },
         "file_celery": {
             "class": "concurrent_log_handler.ConcurrentRotatingFileHandler",
             "formatter": "verbose",
-            "filename": os.path.join(LOGGING_DIR, "celery.log"),
+            "filename": str(LOGGING_DIR / "celery.log"),
             "maxBytes": LOGROTATE_MAX_SIZE,
             "backupCount": LOGROTATE_MAX_BACKUPS,
         },
@@ -901,7 +901,7 @@ CELERY_ACCEPT_CONTENT = ["application/json", "application/x-python-serialize"]
 CELERY_BEAT_SCHEDULE = _parse_beat_schedule()
 
 # https://docs.celeryq.dev/en/stable/userguide/configuration.html#beat-schedule-filename
-CELERY_BEAT_SCHEDULE_FILENAME = os.path.join(DATA_DIR, "celerybeat-schedule.db")
+CELERY_BEAT_SCHEDULE_FILENAME = str(DATA_DIR / "celerybeat-schedule.db")
 
 # django setting.
 CACHES = {