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