about summary refs log tree commit diff stats
path: root/bin/rsschk
blob: ab7416968849316ade83b499be0d3de37f883929 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
# checks if $1 is a valid URL
# if so, checks to see if it's in newsboat's urls file
# if not, adds it to the file.
if [ "$1" = "-h" ]; then
	printf 'usage: rsschk [-h]|URL [\"category\"]\n'>/dev/stderr&&return 1
fi
# regex for finding urls
re_urls='https?://[[:alnum:].]*:?[[:alnum:]./@$&%?$#=_-]*\.(rss|xml)'

! echo "$1" | grep -Eq "$re_urls" &&
	notify-send "Invalid input. rsschk takes http(s) URLs as input." && exit
RSSFILE="${XDG_CONFIG_HOME:=~/.config}/newsboat/urls"
grep -q "^$1" "$RSSFILE" &&
	{ echo "$1">>"$RSSFILE"&&notify-send "RSS feed added.";}