OSDN Git Service

add tsid channel information for complete BS support.
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sat, 12 May 2012 12:20:53 +0000 (12:20 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sat, 12 May 2012 12:20:53 +0000 (12:20 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@937 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/auto_test.py
rec10/trunk/src/chdata.py
rec10/trunk/src/chdb.py
rec10/trunk/src/dbMySQL.py
rec10/trunk/src/readme.txt
rec10/trunk/src/scan_ch.py
rec10/trunk/src/timerec.py
rec10/trunk/src/ts2epg.py
rec10/trunk/src/tv2avi.py
rec10/trunk/src/tv2ts.py

index 0a81861..4c6db07 100644 (file)
@@ -29,7 +29,7 @@ def testAllCHEncode(option,stime):
             print t\r
             pathname=os.path.join(tpatht,t['chtxt'])\r
             print pathname\r
-            tv2ts.tv2ts(pathname+".ts",t['ch'],t['csch'], stime)\r
+            tv2ts.tv2ts(pathname+".ts",t['ch'],t['csch'], stime,t['tsid'])\r
             tv2mp4.ts2mp4(pathname+".ts", pathname+".mp4", option)\r
             time.sleep(2)\r
 if __name__ == "__main__":\r
index 861719b..47a2ace 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python\r
 # coding: UTF-8\r
 # Rec10 TS Recording Tools\r
-# Copyright (C) 2009-2011 Yukikaze\r
+# Copyright (C) 2009-2012 Yukikaze\r
 import os.path\r
 import configreader\r
 import xml.dom.minidom\r
@@ -12,9 +12,9 @@ import rec10d
 \r
 path = str(os.path.dirname(os.path.abspath(__file__))) + "/"\r
 \r
-def chAdd(bctype, chtxt, ch, csch):#すべて文字列\r
+def chAdd(bctype, chtxt, ch, csch,tsid="0"):#すべて文字列\r
     tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\r
-    rec10d.rec10db.add_epg_ch(bctype,chtxt, ch, csch, u"2010-01-01 00:00:00",u"2010-01-01 00:00:00",tnow)\r
+    rec10d.rec10db.add_epg_ch(bctype,chtxt, ch, csch,tsid, u"2010-01-01 00:00:00",u"2010-01-01 00:00:00",tnow)\r
 def addCHlist(cl):\r
     if len(cl)>0:\r
         for c in cl:\r
index b53c220..a4aff06 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python\r
 # coding: UTF-8\r
 # Rec10 TS Recording Tools\r
-# Copyright (C) 2009-2011 Yukikaze\r
+# Copyright (C) 2009-2012 Yukikaze\r
     # モジュール属性 argv を取得するため\r
 import rec10d\r
 \r
@@ -9,7 +9,7 @@ def searchCHFromChtxt(chtxtin):
     chtxtt=chtxtin.replace("_0","_%")\r
     ret = []\r
     for datum in rec10d.rec10db.select_by_chtxt_epg_ch(chtxtt):\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4],'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
@@ -17,7 +17,7 @@ def searchCHFromChtxt(chtxtin):
 def searchCHFromBctype(bctypein):\r
     ret = []\r
     for datum in rec10d.rec10db.select_by_bctype_epg_ch(bctypein):\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4], 'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
@@ -25,7 +25,7 @@ def searchCHFromBctype(bctypein):
 def searchCHFromCh(chin):\r
     ret = []\r
     for datum in rec10d.rec10db.select_by_ch_epg_ch(chin):\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4], 'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
@@ -33,7 +33,7 @@ def searchCHFromCh(chin):
 def searchCHFromCsch(cschin):\r
     ret = []\r
     for datum in rec10d.rec10db.select_by_csch_epg_ch(cschin):\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4], 'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
@@ -41,7 +41,7 @@ def searchCHFromCsch(cschin):
 def searchAllCHFromCh(chin):\r
     ret = []\r
     for datum in rec10d.rec10db.select_by_ch_epg_ch(chin):\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4], 'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
@@ -49,7 +49,7 @@ def searchAllCHFromCh(chin):
 def getAllCH():\r
     ret = []\r
     for datum in rec10d.rec10db.select_all_epg_ch():\r
-        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]}\r
+        rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3],'tsid':datum[4], 'update':datum[5], 'chname':datum[6], 'visible':datum[8]}\r
         ret.append(rett)\r
     if len(ret) == 0:\r
         ret.append(None)\r
index 8a88b6e..cce2e86 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2011 Yukikaze
+# Copyright (C) 2009-2012 Yukikaze
 import MySQLdb
 import recdblist
 import warnings
@@ -97,6 +97,7 @@ class DB_MySQL:
             chtxt VARCHAR(20) PRIMARY KEY,\
             ch VARCHAR(20),\
             csch VARCHAR(20),\
+            tsid VARCHAR(20),\
             chname VARCHAR(100),\
             updatetime DATETIME,\
             status TINYINT,\
@@ -116,12 +117,12 @@ class DB_MySQL:
                 recdblist.addCommonlogEX("Error", "new_epg_ch (dbMySQL.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
 
         self.close_db(db)
-    def add_epg_ch(self, bctype, chtxt, ch, csch, updatetime,logoupdate,scanupdate):
+    def add_epg_ch(self, bctype, chtxt, ch, csch,tsid,updatetime,logoupdate,scanupdate):
         db = self.connect_db()
         db[1].execute('\
-        INSERT INTO epg_ch (bctype,chtxt,ch,csch,chname,updatetime,status,visible,logoupdate,scanupdate)\
-        VALUES (%s,%s,%s,%s,"",%s,%s,%s,%s,%s)', \
-                      (bctype, chtxt, ch, csch, updatetime, "1","1",logoupdate,scanupdate))
+        INSERT INTO epg_ch (bctype,chtxt,ch,csch,tsid,chname,updatetime,status,visible,logoupdate,scanupdate)\
+        VALUES (%s,%s,%s,%s,%s,"",%s,%s,%s,%s,%s)', \
+                      (bctype, chtxt, ch, csch,tsid,updatetime, "1","1",logoupdate,scanupdate))
         self.close_db(db)
     def delete_all_epg_ch(self):
         db = self.connect_db()
@@ -131,7 +132,7 @@ class DB_MySQL:
     def select_by_chtxt_epg_ch(self, chtxt):
         db = self.connect_db()
         dbexe = db[1].execute("\
-        SELECT bctype,chtxt,ch,csch,updatetime,chname,status,visible,logoupdate,scanupdate \
+        SELECT bctype,chtxt,ch,csch,tsid,updatetime,chname,status,visible,logoupdate,scanupdate \
         FROM epg_ch \
         WHERE chtxt LIKE %s", \
                               (chtxt,))
@@ -142,18 +143,18 @@ class DB_MySQL:
         self.close_db(db)
         for dl in dls:
             r = list(dl)
-            r[4] = r[4].strftime("%Y-%m-%d %H:%M:%S")
-            if r[8]!=None:
-                r[8] = r[8].strftime("%Y-%m-%d %H:%M:%S")
+            r[5] = r[5].strftime("%Y-%m-%d %H:%M:%S")
+            if r[9]!=None:
+                r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
             else:
-                r[8]="2011-04-01 00:00:00"
-            r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
+                r[9]="2012-04-01 00:00:00"
+            r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
             ret.append(r)
         return ret
     def select_by_bctype_epg_ch(self, bctype):
         db = self.connect_db()
         dbexe = db[1].execute("\
-        SELECT bctype,chtxt,ch,csch,updatetime,status,chname,status,visible,logoupdate,scanupdate \
+        SELECT bctype,chtxt,ch,csch,tsid,updatetime,status,chname,status,visible,logoupdate,scanupdate \
         FROM epg_ch \
         WHERE bctype = %s", \
                               (bctype,))
@@ -165,13 +166,13 @@ class DB_MySQL:
         for dl in dls:
             #recdblist.printutf8(dl)
             r = list(dl)
-            r[4] = r[4].strftime("%Y-%m-%d %H:%M:%S")
-            if r[9]!=None:
-                r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
+            r[5] = r[5].strftime("%Y-%m-%d %H:%M:%S")
+            if r[10]!=None:
+                r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
             else:
-                r[9]="2011-04-01 00:00:00"
-            r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
-            r[5] = str(r[5])
+                r[10]="2011-04-01 00:00:00"
+            r[11] = r[11].strftime("%Y-%m-%d %H:%M:%S")
+            r[6] = str(r[6])
             ret.append(r)
         import random
         ret.insert(0,ret[random.randint(0,len(ret)-1)])
@@ -180,7 +181,7 @@ class DB_MySQL:
         db = self.connect_db()
         dbexe = db[1].execute("\
         SELECT \
-        bctype,chtxt,ch,csch,updatetime,chname,status,visible,logoupdate,scanupdate \
+        bctype,chtxt,ch,csch,tsid,updatetime,chname,status,visible,logoupdate,scanupdate \
         FROM epg_ch \
         WHERE ch = %s", \
                               (ch,))
@@ -191,16 +192,16 @@ class DB_MySQL:
         self.close_db(db)
         for dl in dls:
             r = list(dl)
-            r[4] = r[4].strftime("%Y-%m-%d %H:%M:%S")
-            r[8] = r[8].strftime("%Y-%m-%d %H:%M:%S")
+            r[5] = r[5].strftime("%Y-%m-%d %H:%M:%S")
             r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
+            r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
             ret.append(r)
         return ret
     def select_by_csch_epg_ch(self, csch):
         db = self.connect_db()
         dbexe = db[1].execute("\
         SELECT \
-        bctype,chtxt,ch,csch,updatetime,chname,status,visible,logoupdate,scanupdate \
+        bctype,chtxt,ch,csch,tsid,updatetime,chname,status,visible,logoupdate,scanupdate \
         FROM epg_ch \
         WHERE csch = %s", \
                               (csch,))
@@ -211,15 +212,15 @@ class DB_MySQL:
         self.close_db(db)
         for dl in dls:
             r = list(dl)
-            r[4] = r[4].strftime("%Y-%m-%d %H:%M:%S")
-            r[8] = r[8].strftime("%Y-%m-%d %H:%M:%S")
+            r[5] = r[5].strftime("%Y-%m-%d %H:%M:%S")
             r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
+            r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
             ret.append(r)
         return ret
     def select_all_epg_ch(self):
         db = self.connect_db()
         dbexe = db[1].execute("\
-        SELECT bctype,chtxt,ch,csch,updatetime,chname,status,visible,logoupdate,scanupdate \
+        SELECT bctype,chtxt,ch,csch,tsid,updatetime,chname,status,visible,logoupdate,scanupdate \
         FROM epg_ch \
         ")
         ret = []
@@ -229,9 +230,9 @@ class DB_MySQL:
         self.close_db(db)
         for dl in dls:
             r = list(dl)
-            r[4] = r[4].strftime("%Y-%m-%d %H:%M:%S")
-            r[8] = r[8].strftime("%Y-%m-%d %H:%M:%S")
+            r[5] = r[5].strftime("%Y-%m-%d %H:%M:%S")
             r[9] = r[9].strftime("%Y-%m-%d %H:%M:%S")
+            r[10] = r[10].strftime("%Y-%m-%d %H:%M:%S")
             ret.append(r)
         return ret
     def change_visible_epg_ch(self,chtxt,visible):
@@ -1320,4 +1321,19 @@ vim         ")
         self.change_installed_in_status(1)
         self.change_version_in_status("101")
         #self.change_installed_in_status()#チャンネルスキャンをさせる
-        
+    def update_db_101to102(sekf):
+        self.drop_in_settings()
+        self.new_in_settings()
+        self.new_epg_ch()
+        db = self.connect_db()
+        try:
+            db[1].execute("\
+            ALTER TABLE epg_ch ADD tsid VARCHAR(20)\
+            ")
+        except:
+            ""
+        self.close_db(db)
+        self.change_installed_in_status(1)
+        self.change_version_in_status("102")
+        #self.change_installed_in_status()#チャンネルスキャンをさせる
+
index db58693..72c98ce 100644 (file)
@@ -1,7 +1,7 @@
 ###########################################
 #     Rec10 -Ts Recording system-         #
 #                          Ver.0.9.10     #
-# 2012/04/21         Yukikaze & long.inus #
+# 2012/05/12         Yukikaze & long.inus #
 #  Copyright (C) 2009-2012 Yukikaze      #
 ###########################################
 
@@ -31,25 +31,14 @@ epgdump(included)
 b25(not included)
 #recpt1(recfriioでもいいはずです)(not included)
 MySQLdb
-##DVB環境では
-tune(included)が追加で必要
-
-事前準備:
-DVB版に対応したため、直下の対策は必要有りません。
-
-#ネットの情報を参考にpt1ドライバーを無効化する
-#pt1などのドライバーをインストールした上(chardev版)で、recpt1などのソフトを導入、
-#b25をインストールしておいてください。
-#*注意
-#11年10月01日からのBS新チャンネル対応のためには、10/02現在ではrecpt1にパッチを当てる必要があります。
-rec10同梱版のepgdumpはts解析によってチャンネルデータを得るように改変してあるので
-変更は不要です。
+tunerec(included)が追加で必要
 
 1:install.shを実行
 2:表示にしたがって設定の変更(チャンネルなど)
 3:make
 4:su
 5:make install
+5'rec10を実行するユーザーをvideoグループに加える(DVB版を使う場合)
 6:rec10を実行するユーザーで/usr/local/share/rec10を実行
 7:cronに書き加える
 8:rectool.plをインストール(Makefile.PLの実行 rectool.plの配置)
@@ -118,6 +107,7 @@ ArchLinuxサポートのための細かな変更
 lavf有効x264でのエラーに対応
 DVB版のドライバに対応
 PMT処理のバグを修正(jTsSplitter)
+DVB版のBS放送のtsid変更に対応
 
 11/02/02 0.9.9
 BonTsDemuxを最新版へ(nogui化によりXvfbが不要)
index 983bbb9..6c6bfca 100644 (file)
@@ -36,8 +36,12 @@ def searchCh():
         for i2 in xrange(0,11):
             chi=u"BS"+str(2*i2+1)
             recdblist.printutf8ex(u"チャンネルスキャン:BSデジタル CH "+chi, 200, 200)
-            if checkTs(chi)>0:
-                addCh(str(chi),u"bs","BS")
+            for ts_offset in xrange(0,3):
+                for ts_idx in xrange(0,7):
+                    t_tsid=16384+chi*16+ts_offset*512+ts_idx
+                    recdblist.printutf8ex(u"TransportID "+str(t_tsid), 200, 200)
+                    if checkTs(chi,str(t_tsid))>0:
+                        addCh(str(chi),u"bs","BS",str(t_tsid))
         time.sleep(1)
         #スカパーe2!
         #http://www5e.biglobe.ne.jp/~kazu_f/digital-sat/trapon-nsat110.html
@@ -81,12 +85,12 @@ def searchCh():
             recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS24", 200, 200)
             addCh("CS24","cs2","CS")
         rec10d.rec10db.change_installed_in_status(100)
-def checkTs(ch):
+def checkTs(ch,tsid="0"):
     if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts")):
         os.remove(os.path.join(tmppath,"ch_"+str(ch)+".ts"))
     if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts.b25")):
         os.remove(os.path.join(tmppath,"ch_"+str(ch)+".ts.b25"))
-    tv2ts.tv2b25ts(os.path.join(tmppath,"ch_"+str(ch)+".ts"), ch, "1")
+    tv2ts.tv2b25ts(os.path.join(tmppath,"ch_"+str(ch)+".ts"), ch, "1",tsid)
     if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts.b25")):
         os.remove(os.path.join(tmppath,"ch_"+str(ch)+".ts.b25"))
     if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts")):
@@ -95,7 +99,7 @@ def checkTs(ch):
     else:
         return 0
 
-def addCh(ch,bctype,chtxthead):
+def addCh(ch,bctype,chtxthead,tsid="0"):
     prglist=getChProgNum(ch)##[prglist,logt]
     for lstr in prglist[0]:
         #print [bctype,chtxthead+"_"+lstr, ch, lstr]
@@ -104,16 +108,18 @@ def addCh(ch,bctype,chtxthead):
                 if ch.find("bs")>-1:
                     if int(lstr)<300:
                         tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
-                        rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
+                        rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr,tsid, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
                 else:
                     tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
-                    rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
+                    rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr,tsid, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
         except Exception, inst:
             recdblist.addCommonlogEX("Warning", "addCh (scan_ch.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
     checkB25Purchased(ch, prglist[1])
-def getChProgNum(ch):
+def getChProgNum(ch,tsid="0"):
     pout=os.path.join(tmppath,"ch_"+str(ch)+".ts")
-    logt=tv2ts.tv2tsmix(pout, ch, "10")
+    if tsid != "0":
+        pout=os.path.join(tmppath,"ch_"+str(ch)+"_"+tsid+".ts")
+    logt=tv2ts.tv2tsmix(pout, ch, "10",tsid)
     retl=getTsProgNum(ch,pout)
     try:
         os.remove(pout)
index f93d680..fd5068f 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2011 Yukikaze
+# Copyright (C) 2009-2012 Yukikaze
 import datetime
 import os
 import os.path
@@ -337,7 +337,7 @@ def type_reserve(typetxt,chtxt,title,bt,et,opt):
     if (dt < 58 * 60 and dt > 30 * 60):
         bctypet = chdb.searchCHFromChtxt(chtxt)['bctype']
         chdatat = rec10d.rec10db.select_by_bctype_epg_ch(bctypet)
-        dt1 = bt - datetime.datetime.strptime(chdatat[0][4], "%Y-%m-%d %H:%M:%S")
+        dt1 = bt - datetime.datetime.strptime(chdatat[0][5], "%Y-%m-%d %H:%M:%S")
         dt1 = dt1.days * 24 * 60 * 60 + dt1.seconds
         if dt1 < 60 * 60:
             recdata = epgdb.searchTime(title, btime, "5", chtxt)
@@ -365,7 +365,7 @@ def type_reserve(typetxt,chtxt,title,bt,et,opt):
             else:
                 recdblist.printutf8(u"追いかけ機能エラー:番組データが見付かりません。")
         else:
-            if rec10d.rec10db.select_by_bctype_epg_ch(bctypet)[0][5] != "0":
+            if rec10d.rec10db.select_by_bctype_epg_ch(bctypet)[0][6] != "0":
                 rec10d.rec10db.update_status_by_bctype_epg_ch(bctypet, "3")
         sys.exit()
     elif (dt <= 30 * 60 and dt > 20 * 60):
index 56f9030..00d18ea 100644 (file)
@@ -52,7 +52,7 @@ def writeEpgXMLTime(pout, ch ,times,islogo=0):
     if os.access(pout + ".ts", os.F_OK):\r
         os.remove(pout + ".ts")\r
     time.sleep(10)\r
-    tv2ts.tv2b25ts(pout+ ".ts", ch, times)\r
+    tv2ts.tv2b25ts(pout+ ".ts", ch, times,"0")\r
     logoopt=""\r
     if islogo==1:\r
         logoopt="/LOGO "\r
index ae5cfbc..831c248 100644 (file)
@@ -47,7 +47,7 @@ def timetv2b25(pout, chtxt, btime, etime, opt):
     dt = et-tnow\r
     rectime = dt.seconds-5\r
     rectime = str(rectime)\r
-    tv2ts.tv2b25ts(tsout + ".ts.b25", chdb.searchCHFromChtxt(chtxt)['ch'], rectime)\r
+    tv2ts.tv2b25ts(tsout + ".ts.b25", chdb.searchCHFromChtxt(chtxt)['ch'], rectime,chdb.searchCHFromChtxt(chtxt)['tsid'])\r
 def b252ts(pout, chtxt, btime, etime, opt):\r
     """\r
     poutはタイトル(自動的にtitle.b25 title.tsと名前がつきます。)\r
index c6c1788..bb87965 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2011 Yukikaze
+# Copyright (C) 2009-2012 Yukikaze
 #import sys # モジュール属性 argv を取得するため
 import commands
 import os
@@ -14,8 +14,8 @@ import status
 import recdblist
 import recording_earth_pt1
 mypath = str(os.path.dirname(os.path.abspath(__file__))) + "/"
-def tv2tsmix(pout, ch, time,getlog=0):
-    tv2b25ts(pout + ".b25", ch, time)
+def tv2tsmix(pout, ch, time,tsid="0",getlog=0):
+    tv2b25ts(pout + ".b25", ch, time,tsid)
     txt=b252tsmix(pout + ".b25", pout)
     return txt
     #if os.access(pout, os.F_OK):
@@ -23,14 +23,14 @@ def tv2tsmix(pout, ch, time,getlog=0):
     #        os.remove(pout + ".b25")
     #    except:
     #        ""
-def tv2ts(pout, ch, csch, time):
+def tv2ts(pout, ch, csch, time,tsid):
     if ch.replace(" ","").replace("CS","").isdigit():
         if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
             status.changeBSCSRecording(1)
         else:
             status.changeTERecording(1)
         try:
-            tv2b25ts(pout + ".b25", ch, time)
+            tv2b25ts(pout + ".b25", ch, time,tsid)
         except Exception, inst:
             recdblist.addCommonlogEX(u"Error",u"tv2ts(tv2ts.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
         if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
@@ -70,7 +70,7 @@ def b252ts(pout, ch, csch):
     else:
         tch="0"
     tsmix2ts(pout + ".tsmix", pout, tch)
-def tv2b25ts(pout, ch, time):
+def tv2b25ts(pout, ch, time,tsid):
     if recording_earth_pt1.useDVB()==0:
         exe = configreader.getConfPath('recpt1')
         if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上
@@ -94,7 +94,7 @@ def tv2b25ts(pout, ch, time):
         else:
             status.changeTERecording(1)
         try:
-            recording_earth_pt1.record(ch,"0",pout,time,0)
+            recording_earth_pt1.record(ch,tsid,pout,time,0)
         except Exception, inst:
             recdblist.addCommonlogEX(u"Error",u"tv2b25ts(tv2ts.py)", str(type(inst)),str(inst))
         if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上