From 12414a3ba81d93316e351ab51aa49bb71cf42f60 Mon Sep 17 00:00:00 2001 From: gn64_jp Date: Sat, 12 May 2012 12:20:53 +0000 Subject: [PATCH] add tsid channel information for complete BS support. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@937 4e526526-5e11-4fc0-8910-f8fd03428081 --- rec10/trunk/src/auto_test.py | 2 +- rec10/trunk/src/chdata.py | 6 ++-- rec10/trunk/src/chdb.py | 14 ++++----- rec10/trunk/src/dbMySQL.py | 72 +++++++++++++++++++++++++++----------------- rec10/trunk/src/readme.txt | 18 +++-------- rec10/trunk/src/scan_ch.py | 24 +++++++++------ rec10/trunk/src/timerec.py | 6 ++-- rec10/trunk/src/ts2epg.py | 2 +- rec10/trunk/src/tv2avi.py | 2 +- rec10/trunk/src/tv2ts.py | 14 ++++----- 10 files changed, 86 insertions(+), 74 deletions(-) diff --git a/rec10/trunk/src/auto_test.py b/rec10/trunk/src/auto_test.py index 0a81861..4c6db07 100644 --- a/rec10/trunk/src/auto_test.py +++ b/rec10/trunk/src/auto_test.py @@ -29,7 +29,7 @@ def testAllCHEncode(option,stime): print t pathname=os.path.join(tpatht,t['chtxt']) print pathname - tv2ts.tv2ts(pathname+".ts",t['ch'],t['csch'], stime) + tv2ts.tv2ts(pathname+".ts",t['ch'],t['csch'], stime,t['tsid']) tv2mp4.ts2mp4(pathname+".ts", pathname+".mp4", option) time.sleep(2) if __name__ == "__main__": diff --git a/rec10/trunk/src/chdata.py b/rec10/trunk/src/chdata.py index 861719b..47a2ace 100644 --- a/rec10/trunk/src/chdata.py +++ b/rec10/trunk/src/chdata.py @@ -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 os.path import configreader import xml.dom.minidom @@ -12,9 +12,9 @@ import rec10d path = str(os.path.dirname(os.path.abspath(__file__))) + "/" -def chAdd(bctype, chtxt, ch, csch):#すべて文字列 +def chAdd(bctype, chtxt, ch, csch,tsid="0"):#すべて文字列 tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") - rec10d.rec10db.add_epg_ch(bctype,chtxt, ch, csch, u"2010-01-01 00:00:00",u"2010-01-01 00:00:00",tnow) + 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) def addCHlist(cl): if len(cl)>0: for c in cl: diff --git a/rec10/trunk/src/chdb.py b/rec10/trunk/src/chdb.py index b53c220..a4aff06 100644 --- a/rec10/trunk/src/chdb.py +++ b/rec10/trunk/src/chdb.py @@ -1,7 +1,7 @@ #!/usr/bin/python # coding: UTF-8 # Rec10 TS Recording Tools -# Copyright (C) 2009-2011 Yukikaze +# Copyright (C) 2009-2012 Yukikaze # モジュール属性 argv を取得するため import rec10d @@ -9,7 +9,7 @@ def searchCHFromChtxt(chtxtin): chtxtt=chtxtin.replace("_0","_%") ret = [] for datum in rec10d.rec10db.select_by_chtxt_epg_ch(chtxtt): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) @@ -17,7 +17,7 @@ def searchCHFromChtxt(chtxtin): def searchCHFromBctype(bctypein): ret = [] for datum in rec10d.rec10db.select_by_bctype_epg_ch(bctypein): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) @@ -25,7 +25,7 @@ def searchCHFromBctype(bctypein): def searchCHFromCh(chin): ret = [] for datum in rec10d.rec10db.select_by_ch_epg_ch(chin): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) @@ -33,7 +33,7 @@ def searchCHFromCh(chin): def searchCHFromCsch(cschin): ret = [] for datum in rec10d.rec10db.select_by_csch_epg_ch(cschin): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) @@ -41,7 +41,7 @@ def searchCHFromCsch(cschin): def searchAllCHFromCh(chin): ret = [] for datum in rec10d.rec10db.select_by_ch_epg_ch(chin): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) @@ -49,7 +49,7 @@ def searchAllCHFromCh(chin): def getAllCH(): ret = [] for datum in rec10d.rec10db.select_all_epg_ch(): - rett = {'bctype':datum[0], 'chtxt':datum[1], 'ch':datum[2], 'csch':datum[3], 'update':datum[4], 'chname':datum[5], 'visible':datum[7]} + 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]} ret.append(rett) if len(ret) == 0: ret.append(None) diff --git a/rec10/trunk/src/dbMySQL.py b/rec10/trunk/src/dbMySQL.py index 8a88b6e..cce2e86 100644 --- a/rec10/trunk/src/dbMySQL.py +++ b/rec10/trunk/src/dbMySQL.py @@ -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()#チャンネルスキャンをさせる + diff --git a/rec10/trunk/src/readme.txt b/rec10/trunk/src/readme.txt index db58693..72c98ce 100644 --- a/rec10/trunk/src/readme.txt +++ b/rec10/trunk/src/readme.txt @@ -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が不要) diff --git a/rec10/trunk/src/scan_ch.py b/rec10/trunk/src/scan_ch.py index 983bbb9..6c6bfca 100644 --- a/rec10/trunk/src/scan_ch.py +++ b/rec10/trunk/src/scan_ch.py @@ -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) diff --git a/rec10/trunk/src/timerec.py b/rec10/trunk/src/timerec.py index f93d680..fd5068f 100644 --- a/rec10/trunk/src/timerec.py +++ b/rec10/trunk/src/timerec.py @@ -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): diff --git a/rec10/trunk/src/ts2epg.py b/rec10/trunk/src/ts2epg.py index 56f9030..00d18ea 100644 --- a/rec10/trunk/src/ts2epg.py +++ b/rec10/trunk/src/ts2epg.py @@ -52,7 +52,7 @@ def writeEpgXMLTime(pout, ch ,times,islogo=0): if os.access(pout + ".ts", os.F_OK): os.remove(pout + ".ts") time.sleep(10) - tv2ts.tv2b25ts(pout+ ".ts", ch, times) + tv2ts.tv2b25ts(pout+ ".ts", ch, times,"0") logoopt="" if islogo==1: logoopt="/LOGO " diff --git a/rec10/trunk/src/tv2avi.py b/rec10/trunk/src/tv2avi.py index ae5cfbc..831c248 100644 --- a/rec10/trunk/src/tv2avi.py +++ b/rec10/trunk/src/tv2avi.py @@ -47,7 +47,7 @@ def timetv2b25(pout, chtxt, btime, etime, opt): dt = et-tnow rectime = dt.seconds-5 rectime = str(rectime) - tv2ts.tv2b25ts(tsout + ".ts.b25", chdb.searchCHFromChtxt(chtxt)['ch'], rectime) + tv2ts.tv2b25ts(tsout + ".ts.b25", chdb.searchCHFromChtxt(chtxt)['ch'], rectime,chdb.searchCHFromChtxt(chtxt)['tsid']) def b252ts(pout, chtxt, btime, etime, opt): """ poutはタイトル(自動的にtitle.b25 title.tsと名前がつきます。) diff --git a/rec10/trunk/src/tv2ts.py b/rec10/trunk/src/tv2ts.py index c6c1788..bb87965 100644 --- a/rec10/trunk/src/tv2ts.py +++ b/rec10/trunk/src/tv2ts.py @@ -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文字以上 -- 2.11.0