X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scanner_workflow.py;h=1321b132380c752f0624dd9d71d6d756918b58a3;hb=HEAD;hp=be2b9db2ba7170a00896fcc6751b6d32d9cec8c1;hpb=012e6e43e6295a6188095100b61d6fbe293135ff;p=scanner_workflow.git diff --git a/scanner_workflow.py b/scanner_workflow.py index be2b9db..1321b13 100755 --- a/scanner_workflow.py +++ b/scanner_workflow.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 +from __future__ import annotations + import click from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler, FileSystemEvent @@ -9,18 +11,19 @@ from filelock import Timeout, FileLock import subprocess from logging import error, info, debug, warning import re +from time import sleep class ScannerWorkflowEvent(FileSystemEventHandler): """Subclass of FileSystemEventHandler to handle OCRing PDFs""" - scanner_workflow = None + scanner_workflow: ScannerWorkflow - def __init__(self, scanner_workflow=None): + def __init__(self, scanner_workflow: ScannerWorkflow): super().__init__() self.scanner_workflow = scanner_workflow if not self.scanner_workflow: - raise Error("No scanner_workflow passed to ScannerWorkflowEvent") + raise Exception("No scanner_workflow passed to ScannerWorkflowEvent") def on_any_event(self, event: FileSystemEvent): if event.is_directory: @@ -84,21 +87,57 @@ class ScannerWorkflow: ) return name + def pdf_file_path(self, name: str): + res = re.match( + r"(?P[^_]+)_(?P\d{2})(?P\d{2})(?P\d{4})_" + r"(?P