X-Git-Url: http://git.osdn.net/view?p=rec10%2Frec10-git.git;a=blobdiff_plain;f=rec10%2Ftrunk%2Fsrc%2Ftv2ts.py;h=bb879652d89f1e0415cbeea8eebb85f2fa413add;hp=3f7d74b40c1e126febc20d06671d3d3c27675796;hb=12414a3ba81d93316e351ab51aa49bb71cf42f60;hpb=32a94871fd17066724ca9e39f3f68068d89ae7e7 diff --git a/rec10/trunk/src/tv2ts.py b/rec10/trunk/src/tv2ts.py index 3f7d74b..bb87965 100644 --- a/rec10/trunk/src/tv2ts.py +++ b/rec10/trunk/src/tv2ts.py @@ -1,39 +1,45 @@ #!/usr/bin/python # coding: UTF-8 +# Rec10 TS Recording Tools +# Copyright (C) 2009-2012 Yukikaze #import sys # モジュール属性 argv を取得するため import commands import os import os.path import time +import traceback import configreader import status import recdblist +import recording_earth_pt1 mypath = str(os.path.dirname(os.path.abspath(__file__))) + "/" -def tv2tsmix(pout, ch, time): - tv2b25ts(pout + ".b25", ch, time) - b252tsmix(pout + ".b25", pout) +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): # try: # os.remove(pout + ".b25") # except: # "" -def tv2ts(pout, ch, csch, time): - ext = os.path.splitext(pout)[1]#ext=".なんたら" - tempt = os.path.split(pout) - path = tempt[0] - if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上 - status.changeBSCSRecording(1) - else: - status.changeTERecording(1) - try: - tv2b25ts(pout + ".b25", ch, time) - except Exception, inst: - recdblist.Commonlogex(u"Error",u"tv2ts(tv2ts.py)", str(type(inst)),str(inst)) - if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上 - status.changeBSCSRecording(-1) +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,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文字以上 + status.changeBSCSRecording(-1) + else: + status.changeTERecording(-1) else: - status.changeTERecording(-1) + ch="0" + csch="0" b252tsmix(pout + ".b25", pout + ".tsmix") tch="0" if csch!=u"0": @@ -52,69 +58,80 @@ def tv2ts(pout, ch, csch, time): except: "" def b252ts(pout, ch, csch): - ext = os.path.splitext(pout)[1]#ext=".なんたら" - tempt = os.path.split(pout) - path = tempt[0] b252tsmix(pout + ".b25", pout + ".tsmix") tch=u"0" - if csch!=u"0": - tch=csch - elif ch==u"101": - tch=u"101" - elif ch==u"102": - tch=u"102" - #else: - # tch=ch + if ch.replace(" ","").replace("CS","").isdigit(): + if csch!=u"0": + tch=csch + elif ch==u"101": + tch=u"101" + elif ch==u"102": + tch=u"102" + else: + tch="0" tsmix2ts(pout + ".tsmix", pout, tch) - if os.access(pout, os.F_OK): +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文字以上 + status.changeBSCSRecording(1) + else: + status.changeTERecording(1) try: - #os.remove(path + "/" + t + ext) - "" + doexe = exe + ' ' + ch + ' ' + time + ' \'' + pout + '\'' + recdblist.printutf8(doexe) + recdblist.addLog(pout, doexe, u"recpt1ログ-コマンド") + recdblist.addLog(pout, unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8'), u"recpt1ログ-詳細") + 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文字以上 + status.changeBSCSRecording(-1) + else: + status.changeTERecording(-1) + elif recording_earth_pt1.useDVB()==1: + if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上 + status.changeBSCSRecording(1) + else: + status.changeTERecording(1) + try: + 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文字以上 + status.changeBSCSRecording(-1) + else: + status.changeTERecording(-1) + if os.path.exists(pout): + try: + os.chmod(pout,0755) except: "" -def tv2b25ts(pout, ch, time): - exe = configreader.getpath('recpt1') - if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上 - status.changeBSCSRecording(1) - else: - status.changeTERecording(1) - try: - doexe = exe + ' ' + ch + ' ' + time + ' \'' + pout + '\'' - recdblist.printutf8(doexe) - recdblist.addlog(pout, doexe, u"recpt1ログ-コマンド") - recdblist.addlog(pout, unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8'), u"recpt1ログ-詳細") - except Exception, inst: - recdblist.Commonlogex(u"Error",u"tv2b25ts(tv2ts.py)", str(type(inst)),str(inst)) - if len(ch) > 2:#BS/CSは100とかCS??とかなので3文字以上 - status.changeBSCSRecording(-1) - else: - status.changeTERecording(-1) -def tv2b25ts_b25(pout, ch, time): - exe = configreader.getpath('recpt1') - doexe = exe + ' --b25 ' + ch + ' ' + time + ' \'' + pout + '\'' - os.system(doexe) def b252tsmix(pin, pout): if not (os.path.exists(pout) and os.path.getsize(pin)>os.path.getsize(pout)*0.95 and os.path.getsize(pin)10*1000*1000: os.remove(pin)