]> git.donarmstrong.com Git - bin.git/commitdiff
use --binary for qprint; only update if modified
authorDon Armstrong <don@donarmstrong.com>
Wed, 14 Dec 2016 19:40:46 +0000 (11:40 -0800)
committerDon Armstrong <don@donarmstrong.com>
Wed, 14 Dec 2016 19:40:46 +0000 (11:40 -0800)
evince_annot

index 079cdc2048129ba096b34d59a90e2a9b4bb1fa8c..65cd452d9c77695f06d645ba695cd73851257ce1 100755 (executable)
@@ -4,16 +4,19 @@
 set -x 
 TMPDIR="$(mktemp -d)"
 
-mkdir -p "$TMPDIR/a"
-mkdir -p "$TMPDIR/b"
-cp -l "$1" "$TMPDIR/a/file.pdf";
-if [ -e "${1}.annot" ]; then
-    cp "$1" "$TMPDIR/b/file.pdf";
+mkdir -p "$TMPDIR/a" "$TMPDIR/b" "$TMPDIR/c"
+PDF_FILE="$(realpath "$1")"
+ANNOT_FILE="$(realpath "${1}.annot")"
+cp -l "$PDF_FILE" "$TMPDIR/a/file.pdf";
+if [ -e "$ANNOT_FILE" ]; then
+    cp "$PDF_FILE" "$TMPDIR/b/file.pdf";
     chmod u+w "$TMPDIR/b/file.pdf"
-    qprint -d "${1}.annot" | patch -d "$TMPDIR/b" --binary;
+    qprint --binary --decode "$ANNOT_FILE" | patch -d "$TMPDIR/b" --binary;
+    cp "$TMPDIR/b/file.pdf" "$TMPDIR/c/file.pdf";
 else
+    cp "$PDF_FILE" "$TMPDIR/b/file.pdf";
+    cp "$PDF_FILE" "$TMPDIR/c/file.pdf";
     chmod u+w "$TMPDIR/b/file.pdf"
-    cp "$1" "$TMPDIR/b/file.pdf";
 fi;
 
 
@@ -24,11 +27,14 @@ fi;
  evince "file.pdf"
 );
 
-(cd "$TMPDIR";
- diff -Nura a b ) | qprint -e > "${1}.annot"
-if ! [ -s "${1}.annot" ]; then
-    rm -f "${1}.annot";
+if !cmp "$TMPDIR/b/file.pdf" "$TMPDIR/c/file.pdf"; then
+    (cd "$TMPDIR";
+     diff -Nura a b ) | qprint --encode --binary > "$ANNOT_FILE"
+fi;
+if ! [ -s "$ANNOT_FILE" ]; then
+    rm -f "$ANNOT_FILE";
 fi;
 rm -f "$TMPDIR/a/file.pdf"
 rm -f "$TMPDIR/b/file.pdf"
-rmdir "$TMPDIR/a" "$TMPDIR/b" "$TMPDIR"
+rm -f "$TMPDIR/c/file.pdf"
+rmdir "$TMPDIR/a" "$TMPDIR/b" "$TMPDIR/c" "$TMPDIR"