mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-29 11:09:27 -05:00
Allow raise error in load_classifier
This commit is contained in:
parent
1ce5a78bc6
commit
02386d6513
@ -37,7 +37,7 @@ class ClassifierModelCorruptError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def load_classifier() -> Optional["DocumentClassifier"]:
|
||||
def load_classifier(raise_exception: bool = False) -> Optional["DocumentClassifier"]:
|
||||
if not settings.MODEL_FILE.is_file():
|
||||
logger.debug(
|
||||
"Document classification model does not exist (yet), not "
|
||||
@ -53,7 +53,9 @@ def load_classifier() -> Optional["DocumentClassifier"]:
|
||||
logger.info(f"Classifier version incompatible: {e.message}, will re-train")
|
||||
Path(settings.MODEL_FILE).unlink()
|
||||
classifier = None
|
||||
except ClassifierModelCorruptError:
|
||||
if raise_exception:
|
||||
raise e
|
||||
except ClassifierModelCorruptError as e:
|
||||
# there's something wrong with the model file.
|
||||
logger.exception(
|
||||
"Unrecoverable error while loading document "
|
||||
@ -61,12 +63,18 @@ def load_classifier() -> Optional["DocumentClassifier"]:
|
||||
)
|
||||
Path(settings.MODEL_FILE).unlink
|
||||
classifier = None
|
||||
except OSError:
|
||||
if raise_exception:
|
||||
raise e
|
||||
except OSError as e:
|
||||
logger.exception("IO error while loading document classification model")
|
||||
classifier = None
|
||||
except Exception: # pragma: no cover
|
||||
if raise_exception:
|
||||
raise e
|
||||
except Exception as e: # pragma: no cover
|
||||
logger.exception("Unknown error while loading document classification model")
|
||||
classifier = None
|
||||
if raise_exception:
|
||||
raise e
|
||||
|
||||
return classifier
|
||||
|
||||
|
@ -2139,7 +2139,7 @@ class SystemStatusView(PassUserMixin):
|
||||
classifier_error = None
|
||||
classifier_status = None
|
||||
try:
|
||||
classifier = load_classifier()
|
||||
classifier = load_classifier(raise_exception=True)
|
||||
if classifier is None:
|
||||
# Make sure classifier should exist
|
||||
docs_queryset = Document.objects.exclude(
|
||||
|
Loading…
x
Reference in New Issue
Block a user