From 17df35dc088c9b1b159c2b78d8330fa9cc9a672a Mon Sep 17 00:00:00 2001 From: filip <“filip.rabiega@gmail.com”> Date: Wed, 21 Jan 2026 23:42:15 +0100 Subject: reformat most scripts --- rssget | 86 +++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) (limited to 'rssget') diff --git a/rssget b/rssget index 10fbbf0..73fb25e 100755 --- a/rssget +++ b/rssget @@ -12,21 +12,21 @@ # This script requires rssadd to add feeds to the list. -getlink () { - local url="$1" - feeds="$(curl -s "$url" | grep -Ex '.*type=.*(rss|rdf|atom).*' | sed 's/ //g')" - url="$(echo $url | sed 's|^\(https://[^/]*/\).*|\1|')" - - for rsspath in $feeds; do - rsspath="$(echo $rsspath | sed -n "s|.*href=['\"]\([^'\"]*\)['\"].*|\1|p")" - if echo "$rsspath" | grep "http" > /dev/null; then - link="$rsspath" - elif echo "$rsspath" | grep -E "^/" > /dev/null; then - link="$url$(echo $rsspath | sed 's|^/||')" - else - link="$url$rsspath" - fi - echo $link +getlink() { + local url="$1" + feeds="$(curl -s "$url" | grep -Ex '.*type=.*(rss|rdf|atom).*' | sed 's/ //g')" + url="$(echo $url | sed 's|^\(https://[^/]*/\).*|\1|')" + + for rsspath in $feeds; do + rsspath="$(echo $rsspath | sed -n "s|.*href=['\"]\([^'\"]*\)['\"].*|\1|p")" + if echo "$rsspath" | grep "http" >/dev/null; then + link="$rsspath" + elif echo "$rsspath" | grep -E "^/" >/dev/null; then + link="$url$(echo $rsspath | sed 's|^/||')" + else + link="$url$rsspath" + fi + echo $link done } @@ -38,48 +38,48 @@ getYoutubeRss() { local url="$1" path=$(echo "$url" | sed -e 's|^http[s]*://||') case "$path" in - *"/channel/"*) channel_id="$(echo $path | sed -r 's|.*channel/([^/]*).*|\1|')" && feed="https://www.youtube.com/feeds/videos.xml?channel_id=${channel_id}" ;; - *"/c/"*|*"/user/"*) - feed=$(wget -q "$url" -O tmp_rssget_yt \ - && sed -n 's|.*\("rssUrl":"[^"]*\).*|\1|; p' tmp_rssget_yt \ - | grep rssUrl \ - | sed 's|"rssUrl":"||') ;; + *"/channel/"*) channel_id="$(echo $path | sed -r 's|.*channel/([^/]*).*|\1|')" && feed="https://www.youtube.com/feeds/videos.xml?channel_id=${channel_id}" ;; + *"/c/"* | *"/user/"*) + feed=$(wget -q "$url" -O tmp_rssget_yt && + sed -n 's|.*\("rssUrl":"[^"]*\).*|\1|; p' tmp_rssget_yt | + grep rssUrl | + sed 's|"rssUrl":"||') + ;; esac echo "$feed" } getVimeoRss() { - local url="$1" - if echo "$url" | grep -q "/videos$"; then - feed_url=$(echo "$url" | sed 's/\/videos$//' | sed 's/\/$/\/rss/') - else - feed_url="${url}/videos/rss" - fi - echo "$feed_url" + local url="$1" + if echo "$url" | grep -q "/videos$"; then + feed_url=$(echo "$url" | sed 's/\/videos$//' | sed 's/\/$/\/rss/') + else + feed_url="${url}/videos/rss" + fi + echo "$feed_url" } -getGithubRss () { +getGithubRss() { local url="${1%/}" - if echo $url | grep -E "github.com/[^/]*/[a-zA-Z0-9].*" >/dev/null ; then + if echo $url | grep -E "github.com/[^/]*/[a-zA-Z0-9].*" >/dev/null; then echo "${url}/commits.atom" echo "${url}/releases.atom" echo "${url}/tags.atom" - elif echo $url | grep -E "github.com/[^/]*(/)" >/dev/null ; then + elif echo $url | grep -E "github.com/[^/]*(/)" >/dev/null; then echo "${url}.atom" fi } -getGitlabRss () { +getGitlabRss() { local url="${1%/}" echo "${url}.atom" } -getMediumRss () { +getMediumRss() { echo $1 | sed 's|/tag/|/feed/|' } - -if [ -n "$1" ] ; then +if [ -n "$1" ]; then url="$1" else url="$(xclip -selection clipboard -o)" @@ -91,19 +91,19 @@ declare -a list=() yt_regex="^(http(s)?://)?((w){3}\.)?(youtube\.com|invidio\.us|invidious\.flokinet\.to|invidious\.materialio\.us|iv\.datura\.network|invidious\.perennialte\.ch|invidious\.fdn\.fr|invidious\.private\.coffee|invidious\.protokolla\.fi|invidious\.privacyredirect\.com|yt\.artemislena\.eu|yt\.drgnz\.club|invidious\.incogniweb\.net|yewtu\.be|inv\.tux\.pizza|invidious\.reallyaweso\.me|iv\.melmac\.space|inv\.us\.projectsegfau\.lt|inv\.nadeko\.net|invidious\.darkness\.services|invidious\.jing\.rocks|invidious\.privacydev\.net|inv\.in\.projectsegfau\.lt|invidious\.drgns\.space)/(channel|user|c).+" reddit_regex="^(http(s)?://)?((w){3}\.)?reddit\.com.*" vimeo_regex="^(http(s)?://)?((w){3}.)?vimeo\.com.*" -if echo $url | grep -Ex "$yt_regex" >/dev/null ; then +if echo $url | grep -Ex "$yt_regex" >/dev/null; then list="$(getYoutubeRss "$url")" -elif echo $url | grep -Ex "$reddit_regex" >/dev/null ; then +elif echo $url | grep -Ex "$reddit_regex" >/dev/null; then list="$(getRedditRss "$url")" # vimeo actually works with getlink -elif echo $url | grep -E "$vimeo_regex" >/dev/null ; then +elif echo $url | grep -E "$vimeo_regex" >/dev/null; then list="$(getVimeoRss "$url")" -elif echo $url | grep -E "github.com" >/dev/null ; then +elif echo $url | grep -E "github.com" >/dev/null; then list="$(getGithubRss "$url")" # gitlab also works with getlink -elif echo $url | grep -E "gitlab.com/[a-zA-Z0-9].*" >/dev/null ; then +elif echo $url | grep -E "gitlab.com/[a-zA-Z0-9].*" >/dev/null; then list="$(getGitlabRss "$url")" -elif echo $url | grep -E "medium.com/tag" >/dev/null ; then +elif echo $url | grep -E "medium.com/tag" >/dev/null; then list="$(getMediumRss "$url")" else list="$(getlink "$url")" @@ -111,7 +111,7 @@ fi [ "$(echo "$list" | wc -l)" -eq 1 ] && chosen_link="$list" || chosen_link=$(printf '%s\n' "${list[@]}" | dmenu -p "Choose a feed:") tags="$2" -if which rssadd; - then rssadd "$chosen_link" "$tags" +if which rssadd; then + rssadd "$chosen_link" "$tags" fi echo "$chosen_link" "$tags" -- cgit v1.2.3