3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
17 recpath=configreader.getpath('recpath')
18 tmppath=configreader.getpath('temppath')
19 path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
26 tasks=recdb.getnow("1")
27 inum=recdb.countRecNow("1")
29 print inum+status.getBSCSRecording()+status.getTERecording()
30 if inum+status.getBSCSRecording()+status.getTERecording() < 2:
40 else:#子プロセスの場合 アップデートを行って終了
44 epgdb.updatebc(bctype)
58 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
61 bt=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
64 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
67 et=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
72 tnow=datetime.datetime.now()
74 dt=dtt.days*24*60*60+dtt.seconds
75 if task["type"]==recdb.REC_RESERVE:#"res,"+chtxt+","+title+","+btime+","+etime+","+opt
78 if (dt<58*60 and dt>10*60):
82 else:#子プロセスの場合 アップデートを行って終了
83 if len(chdb.chtxtsearch(chtxt)['ch'])>2:
84 if recdb.countRecNow_minutes_BSCS("10")+status.getBSCSRecording() <2:
85 epgdb.updatebc(chdb.chtxtsearch(chtxt)['bctype'])
90 if len(chdb.chtxtsearch(chtxt)['ch'])<3:
91 if recdb.countRecNow_minutes_TE("10")+status.getTERecording() <2:
92 epgdb.updatebc(chdb.chtxtsearch(chtxt)['bctype'])
98 recdata=epgdb.searchtime2(title.decode('utf-8'),btime,"5",chtxt)
103 bt=datetime.datetime.strptime(btimen,"%Y-%m-%d %H:%M:%S")
104 et=datetime.datetime.strptime(etimen,"%Y-%m-%d %H:%M:%S")
105 btimen=bt.strftime("%Y-%m-%d %H:%M:%S")
106 etimen=et.strftime("%Y-%m-%d %H:%M:%S")
109 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
110 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, titlen, chtxtn, btimen, etimen, opt)
111 except Exception,inst:
115 print "nothing match"
121 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
122 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
123 except Exception,inst:
126 elif task["type"]==recdb.REC_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
127 deltatime=task['deltatime']
129 recdata=epgdb.searchtime2(title.decode('utf-8'),btime,deltatime,chtxt)
134 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
135 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
136 btimet=bt.strftime("%Y-%m-%d %H:%M:%S")
137 etimet=et.strftime("%Y-%m-%d %H:%M:%S")
140 recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
141 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, titlet, chtxtt, btimet, etimet, opt)
142 except Exception,inst:
146 print "nothing match"
147 elif task["type"]==recdb.REC_KEYWORD_EVERY_SOME_DAYS:#"keyevery,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt+","+deltaday
148 deltatime=task['deltatime']
149 deltaday=task['deltaday']
150 dd=datetime.timedelta(days=int(deltaday))
152 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
155 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
156 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
157 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
159 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
160 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
163 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
164 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
165 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
167 elif task["type"]==recdb.REC_FINAL_RESERVE:#"rec,"+chtxt+","+title+","+btime+","+etime+","+opt
170 recdb.del_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime)
171 recdb.rec_reckey(recdb.REC_TS_RECORDING, title, chtxt, btime, etime, opt)
178 tv2avi.timetv2b25(recpath+"/"+title+".avi", chtxt, btime, etime, opt)
179 recdb.del_reckey(recdb.REC_TS_RECORDING, title, chtxt, btime)
180 tnow=datetime.datetime.now()
181 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
182 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
184 bt=tnow+datetime.timedelta(seconds=600)
185 et=et+dt+datetime.timedelta(seconds=600)
186 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
187 etime=et.strftime("%Y-%m-%d %H:%M:%S")
188 recdb.rec_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime,etime,opt)
190 elif task["type"]==recdb.REC_TS_DECODE_QUE:
192 if status.getB25Decoding()<2:
197 pin=recpath+"/"+title
198 recdb.del_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime)
199 recdb.rec_reckey(recdb.REC_TS_DECODING, title, chtxt, btime, etime, opt)
200 tv2avi.b252ts(pin, chtxt, btime, etime, opt)
201 recdb.del_reckey(recdb.REC_TS_DECODING,title,chtxt,btime)
202 if not os.access(recpath+"/"+title+".ts", os.F_OK):
203 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
204 recdb.rec_reckey(recdb.REC_MISS_DECODE, title, chtxt, btime, etime, opt)
205 tnow=datetime.datetime.now()
206 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
207 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
209 bt=tnow+datetime.timedelta(seconds=600)
210 et=et+dt+datetime.timedelta(seconds=600)
211 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
212 etime=et.strftime("%Y-%m-%d %H:%M:%S")
213 recdb.rec_reckey(recdb.REC_ENCODE_QUE, title, chtxt, btime, etime, opt)
214 print "b25check "+recpath+"/"+title+".ts.b25 "+recpath+"/"+title+".ts"
215 print checker.checkB25Decode(recpath+"/"+title+".ts.b25",recpath+"/"+title+".ts")
216 if checker.checkB25Decode(recpath+"/"+title+".ts.b25",recpath+"/"+title+".ts")==1:
217 os.remove(recpath+"/"+title+".ts.b25")
220 recdb.del_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime)
221 bt=bt+datetime.timedelta(seconds=600)
222 et=et+datetime.timedelta(seconds=600)
223 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
224 etime=et.strftime("%Y-%m-%d %H:%M:%S")
225 recdb.rec_reckey(recdb.REC_TS_DECODE_QUE,title,chtxt,btime,etime,opt)
226 elif task["type"]==recdb.REC_ENCODE_QUE:
228 if status.getEncoding()<2:
233 pin=recpath+"/"+title+".ts"
234 if re.search("d",opt):
235 pin=recpath+"/"+title+"sa.avi"
236 if re.search("5",opt):
237 pin=recpath+"/"+title+"sa.avi"
238 pout=recpath+"/"+title+".avi"
239 print pin+":"+pout+":"+opt
240 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
241 recdb.rec_reckey(recdb.REC_ENCODE_LOCAL, title, chtxt, btime, etime, opt)
242 tv2avi.ts2avi(pin, pout, opt)
243 recdb.del_reckey(recdb.REC_ENCODE_LOCAL,title,chtxt,btime)
244 recdb.rec_reckey(recdb.REC_FIN_LOCAL, title, chtxt, btime, etime, opt)
247 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
248 bt=bt+datetime.timedelta(seconds=600)
249 et=et+datetime.timedelta(seconds=600)
250 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
251 etime=et.strftime("%Y-%m-%d %H:%M:%S")
252 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)