From 8af43f9f3c1f5e9b52a4ea77a50817d577f14851 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Tue, 6 Oct 2026 08:38:02 +1300 Subject: release lock --- backend.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/backend.py b/backend.py index 811db4f..66d5bac 100644 --- a/backend.py +++ b/backend.py @@ -21,16 +21,21 @@ def print_queue(): if not print_lock.acquire(blocking=False): print("print queue is already running") return "print queue busy", 400 - print("printing file(s) in /srv/shares/public/printing") - path = Path("/srv/shares/public/printing") - files = [f for f in path.iterdir() if f.is_file()] + try: + print("printing file(s) in /srv/shares/public/printing") + path = Path("/srv/shares/public/printing") + files = [f for f in path.iterdir() if f.is_file()] - for file in files: - subprocess.run(["lp", "-d", "Canon_G3060", str(file)], check=True) - subprocess.run(["mv", str(file), "/srv/shares/public/printed"], check=True) + for file in files: + subprocess.run(["lp", "-d", "Canon_G3060", str(file)], check=True) + subprocess.run(["mv", str(file), "/srv/shares/public/printed"], check=True) - print(f"printed {len(files)} file(s)") - return f"printed {len(files)} file(s)" + print(f"printed {len(files)} file(s)") + return f"printed {len(files)} file(s)" + except Exception as e: + return f"exception: {(str(e))}", 500 + finally: + print_lock.release() if __name__ == "__main__": app.run(host="0.0.0.0", port=6732) -- cgit v1.2.3