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")
37 else:#子プロセスの場合 アップデートを行って終了
41 epgdb.updatebc(bctype)
55 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
58 bt=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
61 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
64 et=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
69 tnow=datetime.datetime.now()
71 dt=dtt.days*24*60*60+dtt.seconds
73 if task["type"]==recdb.REC_RESERVE:#"res,"+chtxt+","+title+","+btime+","+etime+","+opt
75 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
76 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
78 elif task["type"]==recdb.REC_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
79 deltatime=task['deltatime']
81 recdatum=epgdb.searchtime(title,btime,deltatime)
83 recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
84 for recdata in recdatum:
85 recds=recdata.split(",")
90 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
91 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
92 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
93 etime=et.strftime("%Y-%m-%d %H:%M:%S")
94 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
98 elif task["type"]==recdb.REC_KEYWORD_EVERY_SOME_DAYS:#"keyevery,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt+","+deltaday
99 deltatime=task['deltatime']
100 deltaday=task['deltaday']
103 dd=datetime.timedelta(days=int(deltaday))
105 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
108 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
109 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
110 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
112 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
113 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
116 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
117 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
118 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
120 elif task["type"]==recdb.REC_FINAL_RESERVE:#"rec,"+chtxt+","+title+","+btime+","+etime+","+opt
123 recdb.del_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime)
124 recdb.rec_reckey(recdb.REC_TS_DECODING, title, chtxt, btime, etime, opt)
131 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
132 if not os.access(recpath+"/"+title+".ts", os.F_OK):
134 tnow2=datetime.datetime.now()
136 dt2=dtt2.days*24*60*60+dtt2.seconds
139 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
140 if not os.access(recpath+"/"+title+".ts", os.F_OK):
141 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
142 recdb.rec_reckey(recdb.REC_MISS_DECODE, title, chtxt, btime, etime, opt)
144 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
145 tnow=datetime.datetime.now()
146 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
147 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
149 bt=tnow+datetime.timedelta(seconds=600)
150 et=et+dt+datetime.timedelta(seconds=600)
151 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
152 etime=et.strftime("%Y-%m-%d %H:%M:%S")
153 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
154 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
156 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
157 tnow=datetime.datetime.now()
158 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
159 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
161 bt=tnow+datetime.timedelta(seconds=600)
162 et=et+dt+datetime.timedelta(seconds=600)
163 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
164 etime=et.strftime("%Y-%m-%d %H:%M:%S")
165 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
166 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
169 elif task["type"]==recdb.REC_ENCODE_QUE:
171 if status.getEncoding()<2:
176 pin=recpath+"/"+title+".ts"
177 if re.search("d",opt):
178 pin=recpath+"/"+title+"sa.avi"
179 if re.search("5",opt):
180 pin=recpath+"/"+title+"sa.avi"
181 pout=recpath+"/"+title+".avi"
182 print pin+":"+pout+":"+opt
183 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
184 recdb.rec_reckey(recdb.REC_ENCODE_LOCAL, title, chtxt, btime, etime, opt)
185 ts2x264.ts2x264(pin, pout, opt)
186 recdb.del_reckey(recdb.REC_ENCODE_LOCAL,title,chtxt,btime)
187 recdb.rec_reckey(recdb.REC_FIN_LOCAL, title, chtxt, btime, etime, opt)
190 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
191 bt=bt+datetime.timedelta(seconds=600)
192 et=et+datetime.timedelta(seconds=600)
193 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
194 etime=et.strftime("%Y-%m-%d %H:%M:%S")
195 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)