]> gitweb.fluxo.info Git - utils-doc.git/commitdiff
Feat: adds copy-annotations-to-kobo
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 17 Feb 2025 16:30:05 +0000 (13:30 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 17 Feb 2025 16:30:05 +0000 (13:30 -0300)
copy-annotations-from-kobo
copy-annotations-to-kobo [new file with mode: 0755]

index 3d386c90157579e34e14742a23388cc3eec24d4f..f6770ccbe5e356ccf4983033435a2932bb1ba086 100755 (executable)
@@ -59,7 +59,7 @@ EOT
   fi
 
   # Update
-  silentSsh kobo >"$BASEFOLDER/$sdr/metadata.$extension.lua" <<EOF
+  silentSsh kobo > "$BASEFOLDER/$sdr/metadata.$extension.lua" <<EOF
     cat "$REMOTE_BASE/$sdr/metadata.$extension.lua"
 EOF
 
diff --git a/copy-annotations-to-kobo b/copy-annotations-to-kobo
new file mode 100755 (executable)
index 0000000..b92623e
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+# A mini-wrapper to copy a remote kobo annotation into a local one.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+DIRNAME="`dirname $0`"
+BASEFOLDER="$HOME/data/doc"
+REMOTE_BASE="/mnt/sd"
+REMOTE="kobo"
+PATTERN="$1"
+
+# Thanks https://serverfault.com/a/764403
+#        https://serverfault.com/questions/36421/stop-ssh-login-from-printing-motd-from-the-client#38160
+function silentSsh {
+    local connectionString="$1"
+    shift
+    local commands="$*"
+    if [ -z "$commands" ]; then
+        commands=`cat`
+    fi
+    ssh -T $connectionString "$commands"
+}
+
+# Check
+if [ -z "$PATTERN" ]; then
+  echo "usage: $BASENAME <pattern>"
+  exit 1
+fi
+
+# Dispatch
+$DIRNAME/docshower --search "$PATTERN" | while read item; do
+  #sdr="`echo $item | sed -e 's/\.pdf$//' -e 's/\.epub$//' -e 's/\.djvuf$//'`.sdr"
+  basename="`echo $item | sed -e 's/\.[^.]*$//'`"
+  extension="$(echo $item | sed -e "s|$basename.||")"
+  sdr="$basename.sdr"
+
+  # Check if local file exists
+  test -e "$BASEFOLDER/$sdr/metadata.$extension.lua"
+
+  # Skip if local file does not exist
+  if [ "$?" != "0" ]; then
+    echo "Skipping $item as it's not available at $BASEFOLDER..."
+    continue
+  fi
+
+  echo "Processing $item..."
+
+  # Make sure that the annotation folder exists
+  silentSsh $REMOTE <<EOT
+    mkdir -p "$REMOTE_BASE/$sdr"
+    touch "$REMOTE_BASE/$sdr/metadata.$extension.lua"
+EOT
+
+  # Update
+  scp "$BASEFOLDER/$sdr/metadata.$extension.lua" kobo:"$REMOTE_BASE/$sdr/metadata.$extension.lua"
+done