aboutsummaryrefslogtreecommitdiff
path: root/scripts/buku-archive.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/buku-archive.sh')
-rwxr-xr-xscripts/buku-archive.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/buku-archive.sh b/scripts/buku-archive.sh
new file mode 100755
index 0000000..2a2a702
--- /dev/null
+++ b/scripts/buku-archive.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+SEL="$(xclip -o | tr -d '\n')"
+if [[ -z "${SEL// }" ]]; then
+ echo "Empty selection."
+ exit 1
+fi
+BOOKMARK_ID=
+IFS="
+"
+BOOKMARKS="$(buku "$SEL" -f 1 --tacit)"
+
+for bookmark in $BOOKMARKS; do
+ echo "$bookmark"
+ ID="$(echo "$bookmark" | cut -d$'\t' -f 1)"
+ URL="$(echo "$bookmark" | cut -d$'\t' -f 2)"
+ if [[ "$URL" = "$SEL" ]]; then
+ BOOKMARK_ID="$ID"
+ break
+ fi
+done
+
+
+if [[ -n "$BOOKMARK_ID" ]]; then
+ echo "Archiving $BOOKMARK_ID (URL: $SEL)."
+ buku -u "$BOOKMARK_ID" --tag - ril
+ buku -u "$BOOKMARK_ID" --tag + simple-archive
+else
+ echo "Bookmark for '$SEL' not found."
+ exit 1
+fi