Litet snabbt skrivet script för att skapa favoritlistor av SR:s poddar


#!/bin/bash
# bashscript för att skapa bouquet filer av SR:s poddradio finns lite "oren data" från SR sida tex vid sökning av Karlavagnen kommer inte alla titlar med på alla 3017 poddar :-( har försökt att skriva lite kommentarer men har inte lagt så mycket tid på detta script, så det finns säkert lite som kan förbättras.
# Lägg scriptet på valfri plats sedan chmod +x script_namn.sh. körs med ./script_namn,sh
dest=/tmp
wget -O $dest/sr_api_search.tmp "https://api.sr.se/api/v2/programs?filter=program.haspod&filterValue=true&pa gination=false"
echo "Det finns totalt (cat/$dest/sr_api_search.tmp| wc -l) olika kategorier att välja på"
echo "Använd klipp och klistra för att välja, scrolla tryck på valfi tangent"
sleep 2
cat $dest/sr_api_search.tmp | grep "<program id="| sed 's/<program id="//'|sed 's/.*=//g'|sed 's/"//g'|sed 's/>//g'| sort | more
read -p 'Välj kategori: ' search
echo "$search"
echo "$search">/tmp/sr_search.tmp
id=$(cat $dest/sr_api_search.tmp| grep "$search"| sed 's/"//'|sed 's/".*//'|sed 's/.*=//'|head -n1)
echo "$id">id.tmp
# size=3100 kan behövas öka Karlavagnen var den podd som jag hittad som var störst än så länge"
wget -O $dest/sr_api_id.tmp "http://api.sr.se/api/v2/podfiles?programid=$id&format=json&size=3100"
echo $search
# sr_name.tmp blir ibland fel ej konsekvent med Uppecase funkar inte med grep -i växel
cat $dest/sr_api_id.tmp| sed 's/","/\n/g'| grep "title"| sed 's/":"/\n/g'| grep "$search">$dest/sr_name.tmp
cat $dest/sr_api_id.tmp| sed 's/","/\n/g'| grep "url"| sed 's/":"/\n/g'| grep "http://s">$dest/sr_url.tmp
# Vid sökning av "allt du önskar: julkalendern 2011" är name och title förväxlade för del 15! Sr är inte 100%
#Skapar rätt url sr_url.tmp
sed -i 's/:/%3a/g' $dest/sr_url.tmp
sed -i 's/^/#SERVICE 4097:0:2:0:100D:0:0:0:0:0:/' $dest/sr_url.tmp
sed -i 's|$|:|' $dest/sr_url.tmp
# Lägger till #DESCRIPTIO till sr_name.tmp
sed -i 's/^/#DESCRIPTION /' $dest/sr_name.tmp
# Name och url klara
#Cleaning the tag of forbidden characters
echo $search|
sed 's/!/_/g'|
sed 's/"/_/g'|
sed 's/#/_/g'|
sed 's/$/_/g'|
sed 's/&/_/g'|
sed "s/'/_/g"|
sed 's/(/_/g'|
sed 's/)/_/g'|
sed 's/*/_/g'|
sed 's/;/_/g'|
sed 's/</_/g'|
sed 's/=/_/g'|
sed 's/>/_/g'|
sed 's/?/_/g'|
sed 's/\[/_/g'|
sed 's/\//_/g'|
sed 's/\]/_/g'|
sed 's/\^/_/g'|
sed 's/`/_/g'|
sed 's/{/_/g'|
sed 's/|/_/g'|
sed 's/}/_/g'|
sed 's/~/_/g'|
sed 's/@/_/g'|
sed 's/\//_/g'|
sed 's/~/_/g'|
sed 's/:/_/g'|
sed 's/,/_/g'|
sed 's/ /_/g'|
sed 's/_$//g'|
sed 's/„/_/g'|
sed 's/"/_/g'|
sed 's/å/a/g'|
sed 's/Å/a/g'|
sed 's/ä/a/g'|
sed 's/Ä/a/g'|
sed 's/ö/o/g'|
sed 's/Ö/o/g'|
sed 's/“/_/g'|
# Replays to only one _ in the filename
sed -r 's|_+|_|g'>$dest/radio_new_search.tmp
name=$(cat $dest/radio_new_search.tmp)
echo
echo "Is this a correct file name and description of the new userbouquet file?"
echo
echo "userbouquet.$name.radio"
read -p 'y/n ? : ' i
echo
if [[ "$i" == "n" ]]; then
read -p 'Enter the new filename. userbouquet.??????.radio: ' name
fi
# Merge Url and name to one file
name_upper="${name^}"
echo "#NAME $name_upper">$dest/userbouquet.$name.radio
paste -d \\n $dest/sr_url.tmp $dest/sr_name.tmp>>$dest/userbouquet.$name.radio
no=$(cat $dest/userbouquet.$name.radio| wc -l)
let "no=($no-1)/2"; echo Adding $no stations to /etc/enigma2/userbouquet.$name.radio
read -p 'yes/no ? : ' i
if [[ "$i" == "yes" ]]; then
mv $dest/userbouquet.$name.radio /etc/enigma2/userbouquet.$name.radio
echo "Reload userbouquet "
wget -qO - "http://127.0.0.1/web/servicelistreload?mode=0"
fi
rm -rf $dest/sr_*.tmp*
rm -rf $dest/userbouquet.$name.radio
exit