diff --git a/app.py b/app.py index df36658..0a3b88b 100644 --- a/app.py +++ b/app.py @@ -2092,7 +2092,11 @@ async def paperless_import_status(filename: str = Query(..., min_length=1, max_l remote_path = f"{PAPERLESS_CONSUME_DIR}/{filename}" command = ( f"if sudo -n test -f {remote_path}; then echo QUEUED; else echo CONSUMED; fi; " - f"sudo -n docker logs --since 15m paperless-ngx 2>&1 | grep -F -- {filename} | tail -20 || true" + f"logs=$(sudo -n docker logs --since 15m paperless-ngx 2>&1); " + f"printf \"%s\\n\" \"$logs\" | grep -F -- {filename} | tail -20 || true; " + f"task=$(printf \"%s\\n\" \"$logs\" | grep -F -- {filename} | " + f"grep -oE \"\\[[0-9a-f]{{8}}\\]\" | tail -1 | tr -d \"[]\"); " + f"if test -n \"$task\"; then printf \"%s\\n\" \"$logs\" | grep -F -- \"[$task]\" | tail -20; fi" ) rc, out, err = await asyncio.to_thread( _ssh, PAPERLESS_GATEWAY, _paperless_gateway_command(command), 45