summaryrefslogtreecommitdiff
path: root/.local/bin/rssadd
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2022-08-04 22:55:24 +0200
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2022-08-04 22:55:24 +0200
commitd695dc8ff1b7bfd193c662fef5a1f94c4c330aa7 (patch)
tree9c901dcb58f67fe62865ecd3382689606a46f277 /.local/bin/rssadd
parentddedf926239100b65083065ff773b8567c208172 (diff)
Add rssadd
Diffstat (limited to '.local/bin/rssadd')
-rw-r--r--.local/bin/rssadd18
1 files changed, 18 insertions, 0 deletions
diff --git a/.local/bin/rssadd b/.local/bin/rssadd
new file mode 100644
index 0000000..910fca3
--- /dev/null
+++ b/.local/bin/rssadd
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if echo "$1" | grep -q "https*://\S\+\.[A-Za-z]\+\S*" ; then
+ url="$1"
+else
+ url="$(grep -Eom1 '<[^>]+(rel="self"|application/[a-z]+\+xml)[^>]+>' "$1" |
+ grep -o "https?://[^\" ]")"
+
+ echo "$url" | grep -q "https*://\S\+\.[A-Za-z]\+\S*" ||
+ notify-send "That doesn't look like a full URL." && exit 1
+fi
+
+RSSFILE="${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls"
+if awk '{print $1}' "$RSSFILE" | grep "^$url$" >/dev/null; then
+ notify-send "You already have this RSS feed."
+else
+ echo "$url" >> "$RSSFILE" && notify-send "RSS feed added."
+fi