OSDN Git Service

fix mp4 vfr.
[rec10/rec10-git.git] / rec10 / trunk / src / chdata.py
index 821f9e7..516d67c 100644 (file)
@@ -2,34 +2,14 @@
 # coding: UTF-8
 # Rec10 TS Recording Tools
 # Copyright (C) 2009 Yukikaze
-import sqlite3
+import os.path
+import xml.dom.minidom
 
-import os
-#CS放送では複数のチャンネルを指定する必要があるためチャンネル名をテキストデータで持っておき(chtxt)、必要に応じて変換する
-#ontvはepgデータなどで指定されている名前
-#ここの設定は愛知県の設定(+CS放送スカパーe2)
-dbpath = str(os.path.dirname(os.path.abspath(__file__))) + "/" + "ch.db"
-#db=sqlite3.connect(dbpath)
-db = sqlite3.connect(dbpath)
-try:
+import rec10d
 
-    db.execute('drop table chdata')
-    db.commit()
-except:
-    test = ""
+path = str(os.path.dirname(os.path.abspath(__file__))) + "/"
 
-try:
-    db.execute('create table chdata (bctype TEXT,ontv TEXT,chtxt TEXT,ch TEXT,csch TEXT,station TEXT,updatetime TEXT)')
-except:
-    ""
-db.commit()
-
-#except:
-#   print "テーブル作成に失敗しました"
-#   db.commit()
-#db.commit()
-db.close()
-def chadd(bctype, ontv, chtxt, ch, csch,station):#すべて文字列
+def chadd(bctype, ontv, chtxt, ch, csch):#すべて文字列
     """
     ChannelDBに指定したデータを追加する
     bctype:放送種別,bs/cs/te10などが入る。
@@ -37,44 +17,37 @@ def chadd(bctype, ontv, chtxt, ch, csch,station):#すべて文字列
     te(地上波)は各チャンネルごとに設定する必要があるためteに
     チャンネルの数字を足したものにする
     """
-    db = sqlite3.connect(dbpath)
-    value = "(\'" + bctype + "\',\'" + ontv + "\',\'" + chtxt + "\',\'" + ch + "\',\'" + csch + "\',\'" +station+ "\',datetime(\'2009-04-01 00:00:00\'))"
-    print value
-    value = unicode(value)
-    db.execute('insert into chdata values ' + value)
-    db.commit()
-    db.close()
-#db.commit
-chadd('cs', '1204.ontvjapan.com', 'natiogeo', 'CS6', '343','CSDT343')
-chadd('cs', '1070.ontvjapan.com', 'bbc', 'CS12', '353','CSDT353')
-chadd('cs', '1069.ontvjapan.com', 'cnn', 'CS12', '354','CSDT354')
-chadd('cs', '1045.ontvjapan.com', 'kids', 'CS22', '330','CSDT330')
-chadd('cs', '1007.ontvjapan.com', 'movieplus', 'CS18', '240','CSDT240')
-chadd('cs', '1016.ontvjapan.com', 'fox', 'CS4', '312','CSDT312')
-chadd('cs', '1014.ontvjapan.com', 'axn', 'CS6', '311','CSDT311')
-chadd('cs', '1201.ontvjapan.com', 'atx', 'CS16', '333','CSDT333')
-chadd('cs', '1050.ontvjapan.com', 'hisch', 'CS16', '342','CSDT342')
-chadd('cs', '1047.ontvjapan.com', 'animax', 'CS20', '332','CSDT332')
-chadd('cs', '1062.ontvjapan.com', 'disch', 'CS20', '340','CSDT340')
-chadd('cs', '1193.ontvjapan.com', 'anipla', 'CS20', '341','CSDT341')
-chadd('cs', '1008.ontvjapan.com', 'neco', 'CS6', '223','CSDT223')
-chadd('cs', '1015.ontvjapan.com', 'family', 'CS22', '293','CSDT293')
-#chadd('cs', '1015.ontvjapan.com', 'fuji-one', 'CS22', '293')
-#chadd('cs', '1015.ontvjapan.com', 'fuji-two', 'CS22', '293')
-chadd('te13', '0442.ontvjapan.com', 'nhk-k', '13', '0','DFS00C08')
-chadd('te20', '0432.ontvjapan.com', 'nhk-s', '20', '0','DFS08400')
-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')
-chadd('bs', '3001.ontvjapan.com', 'bs-nhk-1', '101', '0','BSDT101')
-chadd('bs', '3002.ontvjapan.com', 'bs-nhk-2', '102', '0','BSDT102')
-chadd('bs', '3003.ontvjapan.com', 'bs-nhk-hi', '103', '0','BSDT103')
-chadd('bs', '3004.ontvjapan.com', 'bs-nittere', '141', '0','BSDT141')
-chadd('bs', '3005.ontvjapan.com', 'bs-asahi', '151', '0','BSDT151')
-chadd('bs', '3006.ontvjapan.com', 'bs-tbs', '161', '0','BSDT161')
-chadd('bs', '3007.ontvjapan.com', 'bs-japan', '171', '0','BSDT171')
-chadd('bs', '3008.ontvjapan.com', 'bs-fuji', '181', '0','BSDT181')
-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