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.
37 lines
736 B
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
|
|
|
|
|
|
|