59 lines
1.7 KiB
Bash
Executable File
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/"//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
|