#!/usr/bin/python
# coding: UTF-8
# Rec10 TS Recording Tools
-# Copyright (C) 2009 Yukikaze
-import rec10d
-#CS放送では複数のチャンネルを指定する必要があるためチャンネル名をテキストデータで持っておき(chtxt)、必要に応じて変換する
-#ontvはepgデータなどで指定されている名前
-#ここの設定は愛知県の設定(+CS放送スカパーe2 +BS)
-rec10d.rec10db.new_chdata()
-def chadd(bctype, ontv, chtxt, ch, csch):#すべて文字列
- """
- ChannelDBに指定したデータを追加する
- bctype:放送種別,bs/cs/te10などが入る。
- 番組表データがbs,csは一括でとれるためbs,cs内で区別はなし
- te(地上波)は各チャンネルごとに設定する必要があるためteに
- チャンネルの数字を足したものにする
- """
- ubct = unicode(bctype)
- uontv = unicode(ontv)
- uchtxt = unicode(chtxt)
- uch = unicode(ch)
- ucsch = unicode(csch)
- rec10d.rec10db.add_chdata(ubct, uontv, uchtxt, uch, ucsch, u"2009-04-01 00:00:00")
-
-#チャンネルの設定
-#chadd('放送種別','ontvコード(ontvのサイトなどで調べられる)','略称(何でもよい)','チャンネル(物理チャンネル)','CS放送の場合の内訳')
-
-#地上波の設定 東京都(筆者は東京で受信していないため正しいかどうか分かりません)
-#chadd('te26', '0442.ontvjapan.com', 'nhk-k', '26', '0')
-#chadd('te27', '0432.ontvjapan.com', 'nhk-s', '27', '0')
-#chadd('te25', '0404.ontvjapan.com', 'nittere', '25', '0')
-#chadd('te22', '0405.ontvjapan.com', 'tbs', '22', '0')
-#chadd('te23', '0406.ontvjapan.com', 'tokyo', '23', '0')
-#chadd('te21', '0407.ontvjapan.com', 'fuji', '21', '0')
-#chadd('te24', '0420.ontvjapan.com', 'asahi', '24', '0')
-#chadd('te20', '0420.ontvjapan.com', 'tokyomx', '20', '0')#よくわかりません
-#
-#地上波の設定 愛知県向け
-chadd('te13', '0442.ontvjapan.com', 'nhk-k', '13', '0')
-chadd('te20', '0432.ontvjapan.com', 'nhk-s', '20', '0')
-chadd('te22', '0404.ontvjapan.com', 'me-tere', '22', '0')
-chadd('te18', '0405.ontvjapan.com', 'cbc', '18', '0')
-chadd('te21', '0406.ontvjapan.com', 'toukai', '21', '0')
-chadd('te19', '0407.ontvjapan.com', 'chukyo', '19', '0')
-chadd('te23', '0420.ontvjapan.com', 'aichi', '23', '0')
-
+# Copyright (C) 2009-2010 Yukikaze
+import os.path
+import configreader
+import xml.dom.minidom
+import rec10d
-#CS放送(スカパーe2)主に基本パックには言ってるものを中心に
-chadd('cs1', '1204.ontvjapan.com', 'natiogeo', 'CS6', '343')
-chadd('cs1', '1070.ontvjapan.com', 'bbc', 'CS12', '353')
-chadd('cs1', '1069.ontvjapan.com', 'cnn', 'CS12', '354')
-chadd('cs1', '1045.ontvjapan.com', 'kids', 'CS22', '330')
-chadd('cs1', '1007.ontvjapan.com', 'movieplus', 'CS18', '240')
-chadd('cs1', '1016.ontvjapan.com', 'fox', 'CS4', '312')
-chadd('cs1', '1014.ontvjapan.com', 'axn', 'CS6', '311')
-chadd('cs1', '1201.ontvjapan.com', 'atx', 'CS16', '333')
-chadd('cs1', '1050.ontvjapan.com', 'hisch', 'CS16', '342')
-chadd('cs1', '1047.ontvjapan.com', 'animax', 'CS20', '332')
-chadd('cs1', '1062.ontvjapan.com', 'disch', 'CS20', '340')
-chadd('cs1', '1193.ontvjapan.com', 'anipla', 'CS20', '341')
-chadd('cs1', '1008.ontvjapan.com', 'neco', 'CS6', '223')
-chadd('cs1', '1015.ontvjapan.com', 'family', 'CS22', '293')
-chadd('cs1', '1213.ontvjapan.com', 'disney', 'CS4', '334')
-chadd('cs1', '1092.ontvjapan.com', 'teroasa', 'CS12', '303')
-chadd('cs1', '1073.ontvjapan.com', 'fuji-one', 'CS20', '307')
-chadd('cs1', '1072.ontvjapan.com', 'fuji-two', 'CS20', '308')
-chadd('cs1', '1009.ontvjapan.com', 'yo-ga', 'CS6', '224')
-chadd('cs2', '1217.ontvjapan.com', 'thecinema', 'CS10', '228')
-chadd('cs2', '1086.ontvjapan.com', 'nihoneiga', 'CS2', '239')
+path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
-#bs放送の設定 全国共通のはず
-chadd('bs', '3001.ontvjapan.com', 'bs-nhk-1', '101', '0')
-chadd('bs', '3002.ontvjapan.com', 'bs-nhk-2', '102', '0')
-chadd('bs', '3003.ontvjapan.com', 'bs-nhk-hi', '103', '0')
-chadd('bs', '3004.ontvjapan.com', 'bs-nittere', '141', '0')
-chadd('bs', '3005.ontvjapan.com', 'bs-asahi', '151', '0')
-chadd('bs', '3006.ontvjapan.com', 'bs-tbs', '161', '0')
-chadd('bs', '3007.ontvjapan.com', 'bs-japan', '171', '0')
-chadd('bs', '3008.ontvjapan.com', 'bs-fuji', '181', '0')
-chadd('bs', '3013.ontvjapan.com', 'bs-11', '211', '0')
+def chadd(bctype, chtxt, ch, csch):#すべて文字列
+ rec10d.rec10db.add_epg_ch(bctype,chtxt, ch, csch, u"2010-01-01 00:00:00")
+def chlistadd(cl):
+ if len(cl)>0:
+ for c in cl:
+ chadd(c[0],c[1],c[2],c[3])
+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():
+ bs=0
+ cs=0
+ try:
+ bs=int(configreader.getenv("bs"))
+ cs=int(configreader.getenv("cs"))
+ except:
+ ""
+ new_chdata(bs,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_all()
\ No newline at end of file