From c03f2c4d645a1b36e4038cec933ded31546729af Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Tue, 6 Oct 2026 08:34:47 +1300 Subject: print queue --- backend.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'backend.py') diff --git a/backend.py b/backend.py index 39334b8..811db4f 100644 --- a/backend.py +++ b/backend.py @@ -1,7 +1,10 @@ from flask import Flask +from pathlib import Path +import threading import os app = Flask(__name__) +print_lock = threading.Lock() @app.get("/automate/hack_this_club") def hack_this_club(): @@ -13,5 +16,21 @@ def hack_this_club(): os.system('lp -d Canon_G3060 /opsec.txt') return "ok" +@app.get("/automate/print_queue") +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()] + + 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)" + if __name__ == "__main__": app.run(host="0.0.0.0", port=6732) -- cgit v1.2.3