aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/rssadd
blob: a80d0a8c2b945008beb15b4801b155bfde8d50cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh

if echo "$1" | rg -q "https*://\S\+\.[A-Za-z]\+\S*" ; then
  url="$1"
else
  url="$(rg -Eom1 '<[^>]+(rel="self"|application/[a-z]+\+xml)[^>]+>' "$1" |
    rg -o "https?://[^\" ]")"

  echo "$url" | rg -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" | rg "^$url$" >/dev/null; then
  notify-send "You already have this RSS feed."
else
  echo "$url" >> "$RSSFILE" && notify-send "RSS feed added."
fi