3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
18 #japanesenkf.overrideEncodings()
19 recpath=configreader.getpath('recpath')
20 path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
27 tasks=recdb.getnow("1")
38 else:#子プロセスの場合 アップデートを行って終了
42 epgdb.updatebc(bctype)
56 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
59 bt=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
62 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
65 et=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
70 tnow=datetime.datetime.now()
72 dt=dtt.days*24*60*60+dtt.seconds
73 #value=line.split(",")
74 if task["type"]==recdb.REC_RESERVE:#"res,"+chtxt+","+title+","+btime+","+etime+","+opt
76 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
77 #recdb.delrec(title,chtxt,btime)
78 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
79 #recdb.lastrecreserv(title,chtxt,btime,etime,opt)
84 else:#子プロセスの場合 アップデートを行って終了
89 elif task["type"]==recdb.REC_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
90 deltatime=task['deltatime']
93 recdatum=epgdb.searchtime(title,btime,deltatime)
95 #recdb.delkey(title,chtxt,btime,deltatime)
96 recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
97 for recdata in recdatum:
100 recds=recdata.split(",")
105 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
106 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
107 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
108 etime=et.strftime("%Y-%m-%d %H:%M:%S")
109 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
111 print "nothing match"
112 elif task["type"]==recdb.REC_KEYWORD_EVERY_SOME_DAYS:#"keyevery,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt+","+deltaday
113 deltatime=task['deltatime']
114 deltaday=task['deltaday']
115 dd=datetime.timedelta(days=int(deltaday))
117 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
120 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
121 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
122 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
124 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
125 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
126 #recdb.delevery(keyword,chtxt,btime,deltatime,deltaday)
129 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
130 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
131 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
132 elif task["type"]==recdb.REC_FINAL_RESERVE:#"rec,"+chtxt+","+title+","+btime+","+etime+","+opt
135 #recdb.dellastrec(title,chtxt,btime)
136 recdb.del_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime)
137 #recdb.recend(title,chtxt,btime,etime,opt)
138 recdb.rec_reckey(recdb.REC_TS_DECODING, title, chtxt, btime, etime, opt)
145 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
146 if not os.access(recpath+"/"+title+".ts", os.F_OK):
147 #recdb.del_reckey("tsfin", title, chtxt, btime)
148 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
149 recdb.rec_reckey(recdb.REC_MISS_DECODE, title, chtxt, btime, etime, opt)
151 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
152 tnow=datetime.datetime.now()
153 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
154 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
156 bt=tnow+datetime.timedelta(seconds=600)
157 et=et+dt+datetime.timedelta(seconds=600)
158 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
159 etime=et.strftime("%Y-%m-%d %H:%M:%S")
160 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
161 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
163 elif task["type"]==recdb.REC_ENCODE_QUE:
165 if status.getEncoding()<2:
171 #tv2avi.b252avi(recpath+"/"+title+".avi", chtxt,opt)
172 pin=recpath+"/"+title+".ts"
173 if re.search("d",opt):
174 pin=recpath+"/"+title+"sa.avi"
175 if re.search("5",opt):
176 pin=recpath+"/"+title+"sa.avi"
177 pout=recpath+"/"+title+".avi"
178 print pin+":"+pout+":"+opt
179 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
180 recdb.rec_reckey("local", title, chtxt, btime, etime, opt)
181 ts2x264.ts2x264(pin, pout, opt)
183 #tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
186 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
187 bt=bt+datetime.timedelta(seconds=600)
188 et=et+datetime.timedelta(seconds=600)
189 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
190 etime=et.strftime("%Y-%m-%d %H:%M:%S")
191 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)