# coding: UTF-8
# Rec10 TS Recording Tools
# Copyright (C) 2009 Yukikaze
+import os.path
+import xml.dom.minidom
+
import rec10d
-#CS放送では複数のチャンネルを指定する必要があるためチャンネル名をテキストデータで持っておき(chtxt)、必要に応じて変換する
-#ontvはepgデータなどで指定されている名前
-#ここの設定は愛知県の設定(+CS放送スカパーe2 +BS)
-rec10d.rec10db.new_chdata()
-def chadd(bctype, ontv, chtxt, ch, csch, station, station_name):#すべて文字列
+
+path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
+
+def chadd(bctype, ontv, chtxt, ch, csch):#すべて文字列
"""
ChannelDBに指定したデータを追加する
bctype:放送種別,bs/cs/te10などが入る。
te(地上波)は各チャンネルごとに設定する必要があるためteに
チャンネルの数字を足したものにする
"""
- ubct=unicode(bctype)
- uontv=unicode(ontv)
- uchtxt=unicode(chtxt)
- uch=unicode(ch)
- ucsch=unicode(csch)
- ustation=unicode(station)
- ustaname=unicode(station_name)
- rec10d.rec10db.add_chdata(ubct,uontv,uchtxt,uch,ucsch,ustation,ustaname,u"2009-04-01 00:00:00")
-
-#チャンネルの設定
-#chadd('放送種別','ontvコード(ontvのサイトなどで調べられる)','略称(何でもよい)','チャンネル(物理チャンネル)','CS放送の場合の内訳','iEPGデジタルのstation','iEPGのstation')
-#iEPGDigitalはテレビ王国のサイトでiEPGはサイトによってまちまちのようなので自分の使うサイトに即したものにしてください
-#指定しない場合はnoneなどにしておけば動作はします(自動でチャンネルを設定する部分が動かないためチャンネルをRec10WEBから指定する必要があります。)
-
-
-#地上波の設定 東京都(筆者は東京で受信していないため正しいかどうか分かりません)
-#chadd('te26', '0442.ontvjapan.com', 'nhk-k', '26', '0', 'DFS00408', 'NHK教育')
-#chadd('te27', '0432.ontvjapan.com', 'nhk-s', '27', '0', 'DFS00400', 'NHK総合')
-#chadd('te25', '0404.ontvjapan.com', 'nittere', '25', '0', 'DFS00410', '日本テレビ')
-#chadd('te22', '0405.ontvjapan.com', 'tbs', '22', '0', 'DFS00418', 'TBS')
-#chadd('te23', '0406.ontvjapan.com', 'tokyo', '23', '0', 'DFS00430', 'テレビ東京')
-#chadd('te21', '0407.ontvjapan.com', 'fuji', '21', '0', 'DFS00420', 'フジテレビ')
-#chadd('te24', '0420.ontvjapan.com', 'asahi', '24', '0', 'DFS0428', 'テレビ朝日')
-#chadd('te20', '0420.ontvjapan.com', 'tokyomx', '20', '0', 'DFS00112', '東京MX')#よくわかりません
-#
-#地上波の設定 愛知県向け
-chadd('te13', '0442.ontvjapan.com', 'nhk-k', '13', '0', 'DFS00C08', 'NHK教育')
-chadd('te20', '0432.ontvjapan.com', 'nhk-s', '20', '0', 'DFS08400', 'NHK総合')
-chadd('te22', '0404.ontvjapan.com', 'me-tere', '22', '0', 'DFS00C20','名古屋テレビ')
-chadd('te18', '0405.ontvjapan.com', 'cbc', '18', '0', 'DFS00C18', '中京テレビ')
-chadd('te21', '0406.ontvjapan.com', 'toukai', '21', '0', 'DFS00C10', '東海テレビ')
-chadd('te19', '0407.ontvjapan.com', 'chukyo', '19', '0', 'DFS00C28','中京テレビ')
-chadd('te23', '0420.ontvjapan.com', 'aichi', '23', '0', 'DFS08430', 'テレビ愛知')
-
-
-
-#CS放送(スカパーe2)主に基本パックには言ってるものを中心に
-chadd('cs1', '1204.ontvjapan.com', 'natiogeo', 'CS6', '343', 'CSDT343', 'none')
-chadd('cs1', '1070.ontvjapan.com', 'bbc', 'CS12', '353', 'CSDT353', 'BBCワールド')
-chadd('cs1', '1069.ontvjapan.com', 'cnn', 'CS12', '354', 'CSDT354', 'CNNインターナショナル')
-chadd('cs1', '1045.ontvjapan.com', 'kids', 'CS22', '330', 'CSDT330', 'キッズステーション')
-chadd('cs1', '1007.ontvjapan.com', 'movieplus', 'CS18', '240', 'CSDT240', 'ムービープラス')
-chadd('cs1', '1016.ontvjapan.com', 'fox', 'CS4', '312', 'CSDT312', 'FOX')
-chadd('cs1', '1014.ontvjapan.com', 'axn', 'CS6', '311', 'CSDT311', 'AXN')
-chadd('cs1', '1201.ontvjapan.com', 'atx', 'CS16', '333', 'CSDT333', 'アニメシアターX')
-chadd('cs1', '1050.ontvjapan.com', 'hisch', 'CS16', '342', 'CSDT342', 'LET’sTRY')
-chadd('cs1', '1047.ontvjapan.com', 'animax', 'CS20', '332', 'CSDT332', 'AXNアニマックス')
-chadd('cs1', '1062.ontvjapan.com', 'disch', 'CS20', '340', 'CSDT340', 'ディスカバリーチャンネル')
-chadd('cs1', '1193.ontvjapan.com', 'anipla', 'CS20', '341', 'CSDT341', 'アニマルプラネット')
-chadd('cs1', '1008.ontvjapan.com', 'neco', 'CS6', '223', 'CSDT223', 'SPTV261')
-chadd('cs1', '1015.ontvjapan.com', 'family', 'CS22', '293', 'CSDT293', 'ファミリー劇場')
-chadd('cs1', '1213.ontvjapan.com', 'disney', 'CS4', '334', 'CSDT334', 'ディズニーチャンネル')
-chadd('cs1', '1092.ontvjapan.com', 'teroasa', 'CS12', '303', 'CSDT303', '糞朝チャンネル')
-chadd('cs1', '1073.ontvjapan.com', 'fuji-one', 'CS20', '307', 'CSDT307', 'フジテレビONE')
-chadd('cs1', '1072.ontvjapan.com', 'fuji-two', 'CS20', '308', 'CSDT308', 'フジテレビTWO')
-chadd('cs1', '1009.ontvjapan.com', 'yo-ga', 'CS6', '224', 'CSDT224', 'シネフィル・イマジカ')
-chadd('cs2', '1217.ontvjapan.com', 'thecinema', 'CS10', '228', 'CSDT228', 'none')
-chadd('cs2', '1086.ontvjapan.com', 'nihoneiga', 'CS2', '239', 'CSDT239', '日本映画専門チャンネル')
-
-#bs放送の設定 全国共通のはず
-chadd('bs', '3001.ontvjapan.com', 'bs-nhk-1', '101', '0', 'BSDT101', 'NHK衛星第一')
-chadd('bs', '3002.ontvjapan.com', 'bs-nhk-2', '102', '0', 'BSDT102', 'NHK衛星第二')
-chadd('bs', '3003.ontvjapan.com', 'bs-nhk-hi', '103', '0', 'BSDT103', 'NHKハイビジョン')
-chadd('bs', '3004.ontvjapan.com', 'bs-nittere', '141', '0', 'BSDT141', 'BS日テレ')
-chadd('bs', '3005.ontvjapan.com', 'bs-asahi', '151', '0', 'BSDT151', 'BS朝日')
-chadd('bs', '3006.ontvjapan.com', 'bs-tbs', '161', '0', 'BSDT161', 'BS−i')
-chadd('bs', '3007.ontvjapan.com', 'bs-japan', '171', '0', 'BSDT171', 'BSジャパン')
-chadd('bs', '3008.ontvjapan.com', 'bs-fuji', '181', '0', 'BSDT181', 'BSフジ')
-chadd('bs', '3013.ontvjapan.com', 'bs-11', '211', '0', 'BSDT211', '')
-
-
+ rec10d.rec10db.add_epg_ch(bctype, ontv, chtxt, ch, csch, u"2009-04-01 00:00:00")
+def chlistadd(cl):
+ if len(cl)>0:
+ for c in cl:
+ chadd(c[0],c[1],c[2],c[3],c[4])
+def new_chdata(bs,cs):
+ rec10d.rec10db.new_epg_ch()
+ chlistadd(getChList(os.path.join(path,"chlist.xml")))
+ if bs==1:
+ #bs放送の設定 全国共通のはず
+ chlistadd(getChList(os.path.join(path,"chlist_bs.xml")))
+ if cs==1:
+ #CS放送(スカパーe2)主に基本パックには言ってるものを中心に
+ chlistadd(getChList(os.path.join(path,"chlist_cs.xml")))
+def new_chdata_all():
+ new_chdata(1,1)
+ #チャンネルの設定
+ #chadd(u'放送種別',u'ontvコード(ontvのサイトなどで調べられる)',u'略称(何でもよい)',u'チャンネル(物理チャンネル)',u'CS放送の場合の内訳')
+
+ #地上波の設定 東京都(筆者は東京で受信していないため正しいかどうか分かりません)
+
+def getChList(xmlpath):
+ dom=xml.dom.minidom.parse(file(xmlpath))
+ chlist=[]
+ for ch in dom.getElementsByTagName('channel'):
+ bctype=ch.getAttribute("bctype")
+ chd=ch.getAttribute("ch")
+ csch=ch.getAttribute("csch")
+ chtxt=ch.getAttribute("chtxt")
+ ontv=ch.getAttribute("ontvcode")
+ chlist.append([bctype,ontv,chtxt,chd,csch])
+ return chlist
+if __name__ == "__main__":
+ new_chdata()
\ No newline at end of file