X-Git-Url: http://git.osdn.net/view?p=rec10%2Frec10-git.git;a=blobdiff_plain;f=rec10%2Ftrunk%2Fsrc%2Frecording_earth_pt1.py;h=9fb8693126918940e780281b5e2d945c7a5c7ac3;hp=caf28e75c56478a44f0630dbfa59581a09189b2d;hb=d63ca135202a679bd918561b65e806966f94546e;hpb=a0a620919affa7c8ebf82df8474aa4720c342edd diff --git a/rec10/trunk/src/recording_earth_pt1.py b/rec10/trunk/src/recording_earth_pt1.py index caf28e7..9fb8693 100644 --- a/rec10/trunk/src/recording_earth_pt1.py +++ b/rec10/trunk/src/recording_earth_pt1.py @@ -33,11 +33,12 @@ def channel2freq(channel):##freqを返す ch=int(channel.upper().replace("BS","")) freq=str((ch-1)*38360/2+1049480) return freq -def testTune(adapter,channel): +def testTune(adapter,channel,tsid): my_env=recdblist.getEnv() - tunecmd=configreader.getConfDVB("DVBtune")+u" "+adapter+u" "+channel2freq(channel) + #tunecmd=configreader.getConfDVB("DVBtune")+u" "+adapter+u" "+channel2freq(channel) #p1=subprocess.Popen(tunecmd,shell=True) - p1=subprocess.Popen([configreader.getConfDVB("DVBtune"),adapter,channel2freq(channel)],env=my_env,stdout=subprocess.PIPE,stderr=subprocess.PIPE) + recdblist.printutf8_Important([configreader.getConfDVB("DVBtune"),adapter,channel2freq(channel),tsid,"0.2","/dev/null"]) + p1=subprocess.Popen([configreader.getConfDVB("DVBtune"),adapter,channel2freq(channel),tsid,"0.2","/dev/null"],env=my_env,stdout=subprocess.PIPE,stderr=subprocess.PIPE) time.sleep(0.2) try: os.kill(p1.pid,signal.SIGKILL) @@ -65,36 +66,36 @@ def getAdapter(channel): for i in chl: chlr.append(int(i)) return chlr -def getActiveAdapter(channel): +def getActiveAdapter(channel,tsid="0"): for i in getAdapter(channel): - rt=testTune(str(i),channel) + rt=testTune(str(i),channel,tsid) if rt==1: return str(i) -def record(channel,tsid,out,timelength,decode=1): +def record(channel,tsid,out,timelength,decode=0): if not os.path.exists(tmppath+u"rec.sh"): ft=open(tmppath+u"rec.sh","w") - ft.write(u"#!/bin/bash\n/bin/cat $1 > $2") + ft.write(u"#!/bin/bash\n/bin/cat $1 > \"$2\"") ft.close() os.system(u"chmod +x "+tmppath+u"rec.sh") - adapt=getActiveAdapter(channel) + adapt=getActiveAdapter(channel,tsid) my_env=recdblist.getEnv() if adapt!=None: - tunecmd=configreader.getConfDVB("DVBtune")+u" "+adapt+u" "+channel2freq(channel)+u" "+tsid - reccmd=u"/bin/cat \""+configreader.getConfDVB("DVBadapter")+adapt+u"/dvr0\" > \""+out+u"\"" - if decode==1: - reccmd=configreader.getConfPath("b25")+u" -v 0 \""+configreader.getConfDVB("DVBadapter")+adapt+u"/dvr0\" \""+out+"\"" - recdblist.addLog(out, tunecmd+"\n"+reccmd, "record(DVB)",100) - p1=subprocess.Popen([configreader.getConfDVB("DVBtune"),adapt,channel2freq(channel),tsid],env=my_env) - time.sleep(0.2) - if decode==1: - p2=subprocess.Popen([configreader.getConfPath("b25"),u"-v 0",u"\""+configreader.getConfDVB("DVBadapter")+adapt+"/dvr0\"","\""+out+"\""],preexec_fn=os.setsid,env=my_env,bufsize=-1) - else: - p2=subprocess.Popen([tmppath+u"rec.sh",configreader.getConfDVB("DVBadapter")+adapt+"/dvr0",out],preexec_fn=os.setsid,env=my_env,bufsize=-1) + tunecmd=configreader.getConfDVB("DVBtune")+u" "+adapt+u" "+channel2freq(channel)+u" "+tsid+u" "+timelength+u" "+out + #reccmd=u"/bin/cat \""+configreader.getConfDVB("DVBadapter")+adapt+u"/dvr0\" > \""+out+u"\"" + #if decode==1: + # reccmd=configreader.getConfPath("b25")+u" -v 0 \""+configreader.getConfDVB("DVBadapter")+adapt+u"/dvr0\" \""+out+"\"" + recdblist.addLog(out, tunecmd, "record(DVB)",100) + p1=subprocess.Popen([configreader.getConfDVB("DVBtune"),adapt,channel2freq(channel),tsid,timelength,out],env=my_env) + #time.sleep(0.2) + #if decode==1: + # p2=subprocess.Popen([configreader.getConfPath("b25"),u"-v 0",u"\""+configreader.getConfDVB("DVBadapter")+adapt+"/dvr0\"","\""+out+"\""],preexec_fn=os.setsid,env=my_env,bufsize=-1) + #else: + # p2=subprocess.Popen([tmppath+u"rec.sh",configreader.getConfDVB("DVBadapter")+adapt+"/dvr0",out],preexec_fn=os.setsid,env=my_env,bufsize=-1) #p2=subprocess.Popen(reccmd,shell=True,preexec_fn=os.setsid,env=my_env,bufsize=-1) - time.sleep(float(timelength)) - os.killpg(p2.pid,signal.SIGKILL) - p2.wait() - os.kill(p1.pid,signal.SIGKILL) + #time.sleep(float(timelength)) + #os.killpg(p2.pid,signal.SIGKILL) + #p2.wait() + #os.kill(p1.pid,signal.SIGKILL) p1.wait() else: recdblist.printutf8ex(u"tuner busy",100,100)