utility to parse rss feeds into gopher pages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gopherss/bbc_news

37 lines
736 B

#!/bin/sh
##
##
## Create an index in .gph format from a BBC news feed
##
##
##IPREFIX="/tmp/rss_$$"
IPREFIX="tmp_$$"
INF="$1"
## function
to_gph(){
text=$(xml2 < "$1")
title=$(echo "$text" | grep "^/item/title=" | cut -d "=" -f 2)
descr=$(echo "$text" | grep "^/item/description=" | cut -d "=" -f 2 )
link=$(echo "$text" | grep "^/item/link=" | cut -d "=" -f 2)
news_time=$(echo "$text" | grep "^/item/pubDate=" | cut -d "=" -f 2)
printf "[i| |Err|server|port]\r\n"
printf "[h|${news_time} ${title}|URL:${link}|server|port]\r\n"
printf "[i|${descr}|Err|server|port]\r\n"
}
num=$(curl -s "$INF" | csplit -f ${IPREFIX} - '/<item>/' '{*}' | wc -l)
for i in $(seq -w 1 $(($num - 1))); do
to_gph ${IPREFIX}${i}
done