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)
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)