diff --git a/src/documents/utils.py b/src/documents/utils.py index 04aa95bce..2b6a60749 100644 --- a/src/documents/utils.py +++ b/src/documents/utils.py @@ -121,3 +121,10 @@ def run_subprocess( completed_proc.check_returncode() return completed_proc + + +def get_boolean(boolstr: str) -> bool: + """ + Return a boolean value from a string representation. + """ + return bool(boolstr.lower() in ("yes", "y", "1", "t", "true")) diff --git a/src/documents/views.py b/src/documents/views.py index 4dc186260..74d1ff3ea 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -6,7 +6,6 @@ import re import tempfile import zipfile from datetime import datetime -from distutils.util import strtobool from pathlib import Path from time import mktime from unicodedata import normalize @@ -169,6 +168,7 @@ from documents.tasks import index_optimize from documents.tasks import sanity_check from documents.tasks import train_classifier from documents.templating.filepath import validate_filepath_template_and_render +from documents.utils import get_boolean from paperless import version from paperless.celery import app as celery_app from paperless.config import GeneralConfig @@ -238,8 +238,8 @@ class PassUserMixin(GenericAPIView): def get_serializer(self, *args, **kwargs): kwargs.setdefault("user", self.request.user) try: - full_perms = bool( - strtobool(str(self.request.query_params.get("full_perms", "false"))), + full_perms = get_boolean( + str(self.request.query_params.get("full_perms", "false")), ) except ValueError: full_perms = False @@ -600,8 +600,8 @@ class DocumentViewSet( kwargs.setdefault("fields", fields) kwargs.setdefault("truncate_content", truncate_content.lower() in ["true", "1"]) try: - full_perms = bool( - strtobool(str(self.request.query_params.get("full_perms", "false"))), + full_perms = get_boolean( + str(self.request.query_params.get("full_perms", "false")), ) except ValueError: full_perms = False