]> gitweb.fluxo.info Git - scripts.git/commitdiff
Feat: adds copy-item-to-kobo
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 1 Jan 2023 20:07:37 +0000 (17:07 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 1 Jan 2023 20:07:37 +0000 (17:07 -0300)
copy-annotations-from-kobo
copy-item-to-kobo [new file with mode: 0755]

index 19c894ceafe2efeb348c930f1a1f2a7aca8e8fb5..3e10275d0c9e0e56d1b79a8e88561ccecba33d54 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# A mini-wrapper to copu a remote kobo annotation into a local one.
+# A mini-wrapper to copy a remote kobo annotation into a local one.
 #
 
 # Parameters
diff --git a/copy-item-to-kobo b/copy-item-to-kobo
new file mode 100755 (executable)
index 0000000..0650a52
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# A mini-wrapper to copy a local item to kobo.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+BASEFOLDER="$HOME/data/doc"
+REMOTE_BASE="/mnt/sd"
+REMOTE="kobo"
+PATTERN="$1"
+TMPFILE="tmpwork"
+
+# 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
+show --search "$PATTERN" | while read item; do
+  dirname="`dirname "$item"`"
+
+  echo "Copying $item..."
+
+  silentSsh $REMOTE <<EOC
+    mkdir -p "$REMOTE_BASE/$dirname"
+    touch "$REMOTE_BASE/$item"
+EOC
+
+  scp "$BASEFOLDER/$item" "$REMOTE:$REMOTE_BASE/$TMPFILE"
+  silentSsh $REMOTE <<EOS
+    mv "$REMOTE_BASE/$TMPFILE" "$REMOTE_BASE/$item"
+EOS
+done