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("2")
30 if ( inum < 2 ) and ( status.getBSCSRecording()+status.getTERecording() < 2 ):#1個ならTE|BS/CSのどちらかが埋まってる可能性はないので1以下にした。
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
76 if task["type"]==recdb.REC_RESERVE:#"res,"+chtxt+","+title+","+btime+","+etime+","+opt
78 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
79 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
81 elif task["type"]==recdb.REC_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
82 deltatime=task['deltatime']
84 recdatum=epgdb.searchtime2(title.decode('utf-8'),btime,deltatime,chtxt)
86 recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
87 for recdata in recdatum:
88 recds=recdata.split(",")
93 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
94 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
95 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
96 etime=et.strftime("%Y-%m-%d %H:%M:%S")
97 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
101 elif task["type"]==recdb.REC_KEYWORD_EVERY_SOME_DAYS:#"keyevery,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt+","+deltaday
102 deltatime=task['deltatime']
103 deltaday=task['deltaday']
104 dd=datetime.timedelta(days=int(deltaday))
106 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
109 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
110 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
111 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
113 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
114 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
117 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
118 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
119 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
121 elif task["type"]==recdb.REC_FINAL_RESERVE:#"rec,"+chtxt+","+title+","+btime+","+etime+","+opt
124 recdb.del_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime)
125 recdb.rec_reckey(recdb.REC_TS_DECODING, title, chtxt, btime, etime, opt)
132 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
133 if not os.access(recpath+"/"+title+".ts", os.F_OK):
135 tnow2=datetime.datetime.now()
137 dt2=dtt2.days*24*60*60+dtt2.seconds
140 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
141 if not os.access(recpath+"/"+title+".ts", os.F_OK):
142 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
143 recdb.rec_reckey(recdb.REC_MISS_DECODE, title, chtxt, btime, etime, opt)
145 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
146 tnow=datetime.datetime.now()
147 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
148 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
150 bt=tnow+datetime.timedelta(seconds=600)
151 et=et+dt+datetime.timedelta(seconds=600)
152 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
153 etime=et.strftime("%Y-%m-%d %H:%M:%S")
154 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
155 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
157 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
158 tnow=datetime.datetime.now()
159 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
160 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
162 bt=tnow+datetime.timedelta(seconds=600)
163 et=et+dt+datetime.timedelta(seconds=600)
164 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
165 etime=et.strftime("%Y-%m-%d %H:%M:%S")
166 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
167 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
170 elif task["type"]==recdb.REC_ENCODE_QUE:
172 if status.getEncoding()<2:
177 pin=recpath+"/"+title+".ts"
178 if re.search("d",opt):
179 pin=recpath+"/"+title+"sa.avi"
180 if re.search("5",opt):
181 pin=recpath+"/"+title+"sa.avi"
182 pout=recpath+"/"+title+".avi"
183 print pin+":"+pout+":"+opt
184 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
185 recdb.rec_reckey(recdb.REC_ENCODE_LOCAL, title, chtxt, btime, etime, opt)
186 ts2x264.ts2x264(pin, pout, opt)
187 recdb.del_reckey(recdb.REC_ENCODE_LOCAL,title,chtxt,btime)
188 recdb.rec_reckey(recdb.REC_FIN_LOCAL, title, chtxt, btime, etime, opt)
191 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
192 bt=bt+datetime.timedelta(seconds=600)
193 et=et+datetime.timedelta(seconds=600)
194 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
195 etime=et.strftime("%Y-%m-%d %H:%M:%S")
196 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)