From 0c67eaefb5911598d9f17b57caf91f764ead914a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Wed, 8 Feb 2023 01:54:05 +0100 Subject: [PATCH] Improve scan2paperless script --- pkgs/scan2paperless.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/scan2paperless.nix b/pkgs/scan2paperless.nix index 5e527ddb..c56733ef 100644 --- a/pkgs/scan2paperless.nix +++ b/pkgs/scan2paperless.nix @@ -2,16 +2,28 @@ self: with self; '' export PATH=${lib.makeBinPath [pkgs.coreutils pkgs.sane-frontends pkgs.sane-backends pkgs.ghostscript pkgs.imagemagick]} - while true; - do - read -p "Press Enter to continue or Ctrl+C to stop" < /dev/tty + NAME=$([ "$1" == "" ] && date -Iseconds || echo "$1") + TMPDIR=$(mktemp -d) + + echo "Using ''${NAME}.pdf as filename" + RESPONSE="" + + while [ -z "$RESPONSE" ]; + do DATETIME=$(date -Iseconds) + echo "Starting scan $DATETIME" scanimage \ -d "''${SCANNER_DEFAULT_DEVICE}" \ --format=jpeg \ --resolution 300 \ --progress \ - -o "''${SCANNER_OUTPUT_DIR}/''${DATETIME}.jpg" + -o "''${TMPDIR}/''${DATETIME}.jpg" + + read -p "Press ENTER to scan another page, or any other key to generate the final PDF: " RESPONSE < /dev/tty done + + ${python39Packages.img2pdf}/bin/img2pdf --output "''${SCANNER_OUTPUT_DIR}/''${NAME}.pdf" ''${TMPDIR}/* + + rm -rf TMPDIR ''