OSDN Git Service

fix mp4 vfr.
[rec10/rec10-git.git] / rec10 / trunk / src / chdata.py
index 94bd35e..516d67c 100644 (file)
@@ -2,11 +2,13 @@
 # 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()
+
+path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
+
 def chadd(bctype, ontv, chtxt, ch, csch):#すべて文字列
     """
     ChannelDBに指定したデータを追加する
@@ -15,70 +17,37 @@ def chadd(bctype, ontv, chtxt, ch, csch):#すべて文字列
     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放送の場合の内訳','iEPGデジタルのstation','iEPGのstation')
-#iEPGDigitalはテレビ王国のサイトでiEPGはサイトによってまちまちのようなので自分の使うサイトに即したものにしてください
-#指定しない場合はnoneなどにしておけば動作はします(自動でチャンネルを設定する部分が動かないためチャンネルをRec10WEBから指定する必要があります。)
-
-
-#地上波の設定 東京都(筆者は東京で受信していないため正しいかどうか分かりません)
-#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')
-
-
+    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放送の場合の内訳')
 
-#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')
+    #地上波の設定 東京都(筆者は東京で受信していないため正しいかどうか分かりません)
 
-#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 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