File indexing completed on 2024-05-05 04:52:23

0001 #!/bin/bash
0002 
0003 # This example map file relies on this grabber
0004 # tv_grab_eu_dotmedia >eu_dotmedia.xmltv
0005 
0006 # In order to get DVB Channel list, use:
0007 # echo 'select name from Channels;' | sqlite3 ~/.local/share/kaffeine/sqlite.db
0008 
0009 # Just a random senseless map - Modify it for your own needs,
0010 # adding just the channels that didn't map by default
0011 map[0]="action.sky.de;E! HD"
0012 map[1]="13thstreet.de;RIT"
0013 map[2]="1bar.dazn.de;TNT HD"
0014 
0015 #
0016 # Don't touch on anything below
0017 #
0018 
0019 if [ "$2" == "" ]; then
0020         echo "Usage: $0 <origin_file.xmltv> <dest_file.xmltv>"
0021         exit 1
0022 fi
0023 
0024 set -e
0025 
0026 # Original file
0027 orig="$1"
0028 
0029 # Parsed file, to be used in Kaffeine
0030 dest="$2"
0031 
0032 tmpfile1="tmp1_$$.xmltv"
0033 tmpfile2="tmp2_$$.xmltv"
0034 
0035 trap "rm -f $tmpfile1 $tmpfile2 2>/dev/null" EXIT
0036 cp $orig $tmpfile2
0037 
0038 IFS=$','
0039 for i in ${map[@]}; do
0040         array=(${i/;/,})
0041         channel=${array[0]}
0042         name=${array[1]}
0043 
0044         echo "$channel -> $name"
0045 
0046         mv $tmpfile2 $tmpfile1
0047         xmlstarlet ed -s "tv/channel[@id='$channel']" -t elem -n display-name \
0048         -v "$name" $tmpfile1 > $tmpfile2
0049 done
0050 mv $tmpfile2 $dest