Custom Channel Configuration Backup and Restore
(Difference between revisions)
Bazwilliams (Talk | contribs) (→Restore Script) |
Bazwilliams (Talk | contribs) |
||
| Line 42: | Line 42: | ||
cursor.close () | cursor.close () | ||
conn.close () | conn.close () | ||
| + | |||
| + | |||
| + | [[Category:Scripts]] | ||
Revision as of 09:45, 31 January 2013
Backup Script
Run this script before your perform a channel rescan and redirect the output to channels.csv. You can edit this file for easier channel logo and name management.
#!/bin/sh . ~/.mythtv/mysql.txt mysql -u $DBUserName --password=$DBPassword $DBName -B -e "select channum, callsign, serviceid, name, default_authority, xmltvid, icon, commmethod, useonairguide from channel where visible=1 and channum!=serviceid order by (channum+0),serviceid;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g'
Example Output
"channum","callsign","serviceid","name","default_authority","xmltvid","icon","commmethod","useonairguide" "101","BBC 1 Scotland","4220","BBC 1 Scotland","fp.bbc.co.uk","","bbc_one_scotland.jpg","-2","1" "101","BBC 1 Scotland","6421","BBC 1 Scotland","fp.bbc.co.uk","","bbc_one_scotland.jpg","-2","0" "102","BBC 2 Scotland","4284","BBC 2 Scotland","fp.bbc.co.uk","","bbc2_scotland.jpg","-2","1" "102","BBC 2 Scotland","6422","BBC 2 Scotland","fp.bbc.co.uk","","bbc2_scotland.jpg","-2","0"
Restore Script
Expects to read a file called channels.csv in the current working directory. Change the 'password' in your connection string to match your mythconverg password.
#!/usr/bin/python
import csv
import MySQLdb
conn = MySQLdb.connect (host = "localhost",
user = "mythtv",
passwd = "password",
db = "mythconverg")
cursor = conn.cursor()
cursor.execute("UPDATE channel SET visible=0")
data = csv.reader(file("channels.csv"))
for row in data:
#CSV Format: "channum","callsign","serviceid","name","default_authority","xmltvid","icon","commmethod"
cursor.execute("UPDATE channel SET visible=1, channum=%s, callsign=%s, name=%s, default_authority=%s, xmltvid=%s, icon=%s, commmethod=%s, useonairguide=%s WHERE serviceid=%s",(row[0],row[1],row[3],row[4],row[5],row[6],row[7],row[8],row[2]))
cursor.close ()
conn.close ()