3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009 Yukikaze
17 recpath=configreader.getpath('recpath')
18 path=str(os.path.dirname(os.path.abspath(__file__)))+"/"
25 tasks=recdb.getnow("1")
36 else:#子プロセスの場合 アップデートを行って終了
40 epgdb.updatebc(bctype)
54 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
57 bt=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
60 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
63 et=datetime.datetime.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S")
68 tnow=datetime.datetime.now()
70 dt=dtt.days*24*60*60+dtt.seconds
72 if task["type"]==recdb.REC_RESERVE:#"res,"+chtxt+","+title+","+btime+","+etime+","+opt
74 recdb.del_reckey(recdb.REC_RESERVE, title, chtxt, btime)
75 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
77 elif task["type"]==recdb.REC_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
78 deltatime=task['deltatime']
80 recdatum=epgdb.searchtime(title,btime,deltatime)
82 recdb.del_reckey(recdb.REC_KEYWORD, title, chtxt, btime)
83 for recdata in recdatum:
84 recds=recdata.split(",")
89 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
90 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
91 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
92 etime=et.strftime("%Y-%m-%d %H:%M:%S")
93 recdb.rec_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime, etime, opt)
97 elif task["type"]==recdb.REC_KEYWORD_EVERY_SOME_DAYS:#"keyevery,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt+","+deltaday
98 deltatime=task['deltatime']
99 deltaday=task['deltaday']
100 dd=datetime.timedelta(days=int(deltaday))
102 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
105 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
106 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
107 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
109 recdb.keyreserv(title,chtxt,btime,etime,deltatime,opt)
110 recdb.del_reckey(recdb.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
113 btxt=bt.strftime("%Y-%m-%d %H:%M:%S")
114 etxt=et.strftime("%Y-%m-%d %H:%M:%S")
115 recdb.everyreserv(title,chtxt,btxt,etxt,deltatime,opt,deltaday)
117 elif task["type"]==recdb.REC_FINAL_RESERVE:#"rec,"+chtxt+","+title+","+btime+","+etime+","+opt
120 recdb.del_reckey(recdb.REC_FINAL_RESERVE, title, chtxt, btime)
121 recdb.rec_reckey(recdb.REC_TS_DECODING, title, chtxt, btime, etime, opt)
128 tv2avi.timetv2avi(recpath+"/"+title+".avi",chtxt,btime,etime,opt)
129 if not os.access(recpath+"/"+title+".ts", os.F_OK):
130 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
131 recdb.rec_reckey(recdb.REC_MISS_DECODE, title, chtxt, btime, etime, opt)
133 recdb.del_reckey(recdb.REC_TS_DECODING, title, chtxt, btime)
134 tnow=datetime.datetime.now()
135 bt=datetime.datetime.strptime(btime,"%Y-%m-%d %H:%M:%S")
136 et=datetime.datetime.strptime(etime,"%Y-%m-%d %H:%M:%S")
138 bt=tnow+datetime.timedelta(seconds=600)
139 et=et+dt+datetime.timedelta(seconds=600)
140 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
141 etime=et.strftime("%Y-%m-%d %H:%M:%S")
142 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)
143 recdb.rec_reckey(recdb.REC_FIN_DECODE,title,chtxt,btime,etime,opt)
146 elif task["type"]==recdb.REC_ENCODE_QUE:
148 if status.getEncoding()<2:
153 pin=recpath+"/"+title+".ts"
154 if re.search("d",opt):
155 pin=recpath+"/"+title+"sa.avi"
156 if re.search("5",opt):
157 pin=recpath+"/"+title+"sa.avi"
158 pout=recpath+"/"+title+".avi"
159 print pin+":"+pout+":"+opt
160 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
161 recdb.rec_reckey(recdb.REC_ENCODE_LOCAL, title, chtxt, btime, etime, opt)
162 ts2x264.ts2x264(pin, pout, opt)
165 recdb.del_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime)
166 bt=bt+datetime.timedelta(seconds=600)
167 et=et+datetime.timedelta(seconds=600)
168 btime=bt.strftime("%Y-%m-%d %H:%M:%S")
169 etime=et.strftime("%Y-%m-%d %H:%M:%S")
170 recdb.rec_reckey(recdb.REC_ENCODE_QUE,title,chtxt,btime,etime,opt)