Files
cnuktube/rss/cnuk_rss_update
pance lalkov 73521d3cd5 Initial commit
2023-12-22 19:05:56 +01:00

59 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
duplicate_processes=$(pgrep -x "cnuk_rss_update" | grep -v $$ | grep -v $(($$+1)))
kill $duplicate_processes
while true; do
if pgrep -x "CNUKTUBE" > /dev/null
then
while IFS= read -r line; do
curl -s $line > ./rss/1.temp
channel_name=$(grep -m 1 "<name>" ./rss/1.temp | sed 's/<name>//' | sed 's/<\/name>//' | sed 's/ //g' | tr -dc '[:print:]\n' | sed 's/;//g; s/|//g; s/\[//g; s/\]//g')
grep 'published\|media:title\|media:content' ./rss/1.temp > ./rss/2.temp
sed -i 1d ./rss/2.temp
sed -i 's/ <published>//g' ./rss/2.temp
sed -i 's/<\/published>//g' ./rss/2.temp
sed -i 's/ <media:title>/ /g' ./rss/2.temp
sed -i 's/<\/media:title>//g' ./rss/2.temp
sed -i 's/ <media:content url="/ /g' ./rss/2.temp
tr -d '\n' < ./rss/2.temp > ./rss/3.temp
sed -i "s/\" type=\"application\/x-shockwave-flash\" width=\"640\" height=\"390\"\/>/\n/g" ./rss/3.temp
sed -i 's/T..:..:..+00:00//g' ./rss/3.temp
if [ ! -f ./rss/feeds/"$channel_name" ]; then
touch ./rss/feeds/"$channel_name"
fi
while IFS= read -r line; do
escaped_line_1=$(tr -dc '[:print:]\n' <<< "$line")
escaped_line_2=$(sed 's/;//g; s/|//g; s/\[//g; s/\]//g; s/&quot//g' <<< "$escaped_line_1")
if grep -q -F "$escaped_line_2" ./rss/feeds/"$channel_name"
then
break
else
echo "new video: "$escaped_line_2
echo "NEW $escaped_line_2" >> ./rss/4.temp
fi
done < ./rss/3.temp
if [ -f ./rss/4.temp ]; then
cat ./rss/feeds/"$channel_name" >> ./rss/4.temp
mv ./rss/4.temp ./rss/feeds/"$channel_name"
fi
rm ./rss/1.temp
rm ./rss/2.temp
rm ./rss/3.temp
done < ./rss/channels.txt
sleep 360
else
break
fi
done