[mythtv-users] UK migration to SD
Simon Hobson
linux at thehobsons.co.uk
Wed Jun 22 21:13:08 UTC 2016
Mike Perkins <mikep at randomtraveller.org.uk> wrote:
> Since I have just rescanned my transports - an unbelievably complicated and soul-destroying process - I cannot use the code at the bottom of:
>
> https://www.mythtv.org/wiki/Migrating_to_SchedulesDirect_in_the_UK
>
> Reason: I no longer have any of the old IDs.
I didn't bother with that anyway, I just started from scratch.
Have a look at the xml file written out, and at the top there's a list of stations, a quick and dirty extract of the id's can be had with (assumes xml file is /tmp/sd.xml) :
grep 'channel id=
display-name' /tmp/sd.txt
I found a few in the XML file that aren't available !
I decided to do a full rescan (similarly not hassle free !), since it was a while since I'd updated them and I was missing a few that SWMBO likes to watch. Then I adapted my SQL script to suit, which will probably get mangled by line wrapping. I'm running off Lancaster which is a repeater from Winter Hill (Granada region).
#!/bin/bash
# Set MythTV channel numbers
. /etc/mythtv/mysql.txt
echo '
update channel set useonairguide=0 ;
update channel set channum=channum+10000 where channum < 600 ;
update channel set visible=0 where not channum between 700 and 799 ;
update channel set visible=1,channum=1 ,xmltvid="24325" where callsign="BBC ONE N West" ;
update channel set visible=1,channum=2 ,xmltvid="17154" where callsign="BBC TWO" ;
update channel set visible=1,channum=4 ,xmltvid="20684" where callsign="BBC FOUR" ;
update channel set visible=1,channum=10 ,xmltvid="21831" where callsign="ITV" ;
update channel set visible=1,channum=11 ,xmltvid="65165" where callsign="ITV +1" ;
update channel set visible=1,channum=12 ,xmltvid="20630" where callsign="ITV2" ;
update channel set visible=1,channum=13 ,xmltvid="53059" where callsign="ITV2 +1" ;
update channel set visible=1,channum=14 ,xmltvid="44643" where callsign="ITV3" ;
update channel set visible=1,channum=15 ,xmltvid="98366" where callsign="ITV3+1" ;
update channel set visible=1,channum=16 ,xmltvid="48020" where callsign="ITV4" ;
update channel set visible=1,channum=17 ,xmltvid="61806" where callsign="ITV4+1" ;
update channel set visible=1,channum=18 ,xmltvid="90855" where callsign="ITVBe" ;
update channel set visible=1,channum=19 ,xmltvid="90645" where callsign="ITVBe+1" ;
update channel set visible=1,channum=20 ,xmltvid="17155" where callsign="Channel 4" ;
update channel set visible=1,channum=21 ,xmltvid="56892" where callsign="Channel 4+1" ;
update channel set visible=1,channum=22 ,xmltvid="25117" where callsign="E4" ;
update channel set visible=1,channum=23 ,xmltvid="33882" where callsign="E4+1" ;
update channel set visible=1,channum=24 ,xmltvid="47657" where callsign="More 4" ;
update channel set visible=1,channum=25 ,xmltvid="75804" where callsign="4seven" ;
update channel set visible=1,channum=26 ,xmltvid="21494" where callsign="Film4" ;
update channel set visible=1,channum=27 ,xmltvid="25630" where callsign="Film4+1" ;
update channel set visible=1,channum=30 ,xmltvid="17157" where callsign="Channel 5" ;
update channel set visible=1,channum=31 ,xmltvid="77749" where callsign="Channel 5+1" ;
update channel set visible=1,channum=32 ,xmltvid="97294" where callsign="Channel 5+24" ;
update channel set visible=1,channum=33 ,xmltvid="52335" where callsign="5 USA" ;
update channel set visible=1,channum=34 ,xmltvid="52336" where callsign="5STAR" ;
update channel set visible=1,channum=40 ,xmltvid="24305" where callsign="Dave" ;
update channel set visible=1,channum=41 ,xmltvid="44855" where callsign="Dave ja vu" ;
update channel set visible=1,channum=42 ,xmltvid="62391" where callsign="QUEST" ;
update channel set visible=1,channum=43 ,xmltvid="65394" where callsign="QUEST+1" ;
update channel set visible=1,channum=44 ,xmltvid="31783" where callsign="Yesterday" ;
update channel set visible=1,channum=45 ,xmltvid="82575" where callsign="Drama" ;
update channel set visible=1,channum=46 ,xmltvid="88796" where callsign="Movie Mix" ;
update channel set visible=1,channum=47 ,xmltvid="48021" where callsign="Pick" ;
update channel set visible=1,channum=48 ,xmltvid="73970" where callsign="CBS Action" ;
update channel set visible=1,channum=49 ,xmltvid="57827" where callsign="CBS Drama" ;
update channel set visible=1,channum=50 ,xmltvid="31756" where callsign="CBS Reality" ;
update channel set visible=1,channum=51 ,xmltvid="45510" where callsign="CBS Reality+1" ;
update channel set visible=1,channum=52 ,xmltvid="97330" where callsign="Spike" ;
update channel set visible=1,channum=53 ,xmltvid="46306" where callsign="movies4men" ;
update channel set visible=1,channum=54 ,xmltvid="99098" where callsign="True Crime" ;
update channel set visible=1,channum=55 ,xmltvid="57747" where callsign="True Entertainment" ;
update channel set visible=1,channum=56 ,xmltvid="44718" where callsign="Food Network" ;
update channel set visible=1,channum=57 ,xmltvid="21257" where callsign="Home" ;
update channel set visible=1,channum=58 ,xmltvid="17453" where callsign="Travel Channel" ;
update channel set visible=1,channum=59 ,xmltvid="21793" where callsign="Challenge" ;
update channel set visible=1,channum=60 ,xmltvid="24677" where callsign="Community" ;
update channel set visible=1,channum=61 ,xmltvid="97332" where callsign="TBN UK" ;
update channel set visible=1,channum=62 ,xmltvid="97331" where callsign="truTV" ;
update channel set visible=1,channum=63 ,xmltvid="97349" where callsign="truTV+1" ;
update channel set visible=1,channum=64 ,xmltvid="42762" where callsign="Horror Channel" ;
update channel set visible=1,channum=77 ,xmltvid="19037" where callsign="BBC News" ;
update channel set visible=1,channum=78 ,xmltvid="16234" where callsign="Sky News";
update channel set visible=1,channum=79 ,xmltvid="77776" where callsign="Al Jazeera Eng" ;
update channel set visible=1,channum=80 ,xmltvid="20685" where callsign="BBC Parliament";
update channel set visible=1,channum=100,xmltvid="31786" where callsign="4Music" ;
update channel set visible=1,channum=301,xmltvid="81004" where callsign="BBC RB 1" ;
update channel set visible=1,xmltvid="24434" where callsign="BBC Radio 1" ;
update channel set visible=1,xmltvid="31266" where callsign="BBC R1X" ;
update channel set visible=1,xmltvid="24435" where callsign="BBC Radio 2" ;
update channel set visible=1,xmltvid="24436" where callsign="BBC Radio 3" ;
update channel set visible=1,xmltvid="24437" where callsign="BBC Radio 4" ;
update channel set visible=1,xmltvid="24438" where callsign="BBC R5L" ;
update channel set visible=1,xmltvid="29920" where callsign="BBC R5SX" ;
update channel set visible=1,xmltvid="30166" where callsign="BBC 6 Music" ;
update channel set visible=1,xmltvid="31790" where callsign="BBC Radio 4 Ex" ;
update channel set visible=1,xmltvid="24452" where callsign="BBC Asian Net." ;
update channel set visible=1,xmltvid="24448" where callsign="BBC World Sv." ;
update channel set visible=1,xmltvid="33635" where callsign="The Hits Radio" ;
update channel set visible=1,xmltvid="25151" where callsign="KISS FRESH" ;
update channel set visible=1,xmltvid="25605" where callsign="Kiss" ;
update channel set visible=1,xmltvid="30639" where callsign="Magic" ;
update channel set visible=1,xmltvid="31788" where callsign="Kerrang!" ;
update channel set visible=1,xmltvid="45752" where callsign="Smooth Radio" ;
update channel set visible=1,xmltvid="24441" where callsign="talkSPORT" ;
update channel set visible=1,xmltvid="30500" where callsign="Capital FM" ;
update channel set visible=1,xmltvid="24469" where callsign="Premier Radio" ;
update channel set visible=1,xmltvid="24440" where callsign="Absolute Radio" ;
update channel set visible=1,xmltvid="24467" where callsign="Heart" ;
update channel set visible=1,xmltvid="45006" where callsign="Insight Radio" ;
update channel set visible=1,xmltvid="24439" where callsign="Classic FM" ;
update channel set visible=1,xmltvid="33579" where callsign="LBC" ;
' | mysql --database=${DBName} --user=${DBUserName} --password=${DBPassword}
For good measure, here's the script I use for getting the listings - it fetches the channel IDs from the database so it automatically pulls down data only for those channels I have in use.
#!/bin/bash
conf='.xmltv/tv_grab_sd_json.conf'
xmlfile='sd.xml'
cd
cp ${conf}.base ${conf}
mysql --host=192.168.137.38 --user=mythtv --database=mythconverg --password=88shyqgR \
-e "select xmltvid from channel where visible=1 and useonairguide=0 order by xmltvid ;" |
grep '[0-9][0-9][0-9][0-9][0-9]' |
sed -e 's/^/channel=/' >> ${conf}
tv_grab_sd_json --config-file ${conf} --output ${xmlfile}
More information about the mythtv-users
mailing list