OSDN Git Service

fix mp4 vfr.
[rec10/rec10-git.git] / rec10 / trunk / src / timerec.py
index 42ae827..1bb2d55 100644 (file)
@@ -22,6 +22,7 @@ import status
 import tv2avi
 import tv2mkv
 import tv2mp4
+import install
 import recdblist
 recpath = configreader.getpath('recpath')
 movepath = configreader.getpath('move_destpath')
@@ -31,6 +32,11 @@ def task():
     数分毎に実行されるタスク処理
     予定によって子プロセスを生成し処理する。
     """
+    try:
+        if rec10d.rec10db.select_installed_in_status()==0:
+            install.install()
+    except:
+        install.install()
     recdb.delete_old("24")
     recdb.delete_old_auto_bayes("1")
     recdb.delete_old_auto_keyword("1")
@@ -41,10 +47,10 @@ def task():
     encodenum=0
     b25num=0
     dnow=datetime.datetime.now()
-    if dnow.hour==12 and dnow.minute<5 :
+    if dnow.minute%10<5:
         pid = os.fork()
         if pid != 0:
-            time.sleep(1)
+            ""
         else:
             for k in recdb.get_key():
                 search_keyword(k)
@@ -54,6 +60,7 @@ def task():
         if pid!=0:
             ""
         else:
+            time.sleep(10)
             auto_process.auto_check(recpath)
             sys.exit()
     update = chdb.update()
@@ -168,7 +175,8 @@ def task():
                 else:
                     recdb.del_reckey(recdblist.REC_AVI_TO_MKV, title, chtxt, btime)
                     recdb.rec_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime, etime, opt)
-                    tv2mkv.avi2mkv(os.path.join(recpath,title+".avi"),os.path.join(recpath,title+".mkv"))
+                    #tv2mp4.avi2mp4(os.path.join(recpath,title+".avi"),os.path.join(recpath,title+".mkv"),opt)
+                    tv2mkv.avi2mkv(os.path.join(recpath,title+".avi"),os.path.join(recpath,title+".mkv"),opt)
                     recdb.del_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime)
                     sys.exit()
         elif task["type"] == recdblist.REC_AVI_TO_MP4:
@@ -179,7 +187,7 @@ def task():
                 else:
                     recdb.del_reckey(recdblist.REC_AVI_TO_MP4, title, chtxt, btime)
                     recdb.rec_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime, etime, opt)
-                    tv2mp4.avi2mp4(os.path.join(recpath,title+".avi"),os.path.join(recpath,title+".mp4"))
+                    tv2mp4.avi2mp4(os.path.join(recpath,title+".avi"),os.path.join(recpath,title+".mp4"),opt)
                     recdb.del_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime)
                     sys.exit()
         elif task["type"] == recdblist.REC_MKV_TO_MP4:
@@ -188,46 +196,11 @@ def task():
                 if pid > 0:#親プロセスの場合
                     ""
                 else:
-                    recdb.del_reckey(recdblist.REC_AVI_TO_MP4, title, chtxt, btime)
+                    recdb.del_reckey(recdblist.REC_MKV_TO_MP4, title, chtxt, btime)
                     recdb.rec_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime, etime, opt)
                     tv2mp4.mkv2mp4(os.path.join(recpath,title+".mkv"),os.path.join(recpath,title+".mp4"))
                     recdb.del_reckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime)
                     sys.exit()
-        elif task["type"] == recdblist.REC_AUTO_KEYWORD:#"key,"+chtxt+","+keyword+","+btime+","+deltatime+","+opt
-            deltatime = "24"
-            if dt < 90 * 60:
-                recdatum = epgdb.searchtime_auto(title, btime, deltatime, chtxt)
-                for recdata in recdatum:
-                    if recdata[1] != "":
-                        chtxtt = recdata[0]
-                        titlet = recdata[1]
-                        btimet = recdata[2]
-                        etimet = recdata[3]
-                        exp = recdata[4]
-                        longexp = recdata[5]
-                        category=recdata[6]
-                        btt = datetime.datetime.strptime(btimet, "%Y-%m-%d %H:%M:%S")
-                        ett = datetime.datetime.strptime(etimet, "%Y-%m-%d %H:%M:%S")
-                        btimet = btt.strftime("%Y-%m-%d %H:%M:%S")
-                        etimet = ett.strftime("%Y-%m-%d %H:%M:%S")
-                        try:
-                            recdb.rec_reckey(recdblist.REC_AUTO_SUGGEST_REC, titlet, chtxtt, btimet, etimet, opt)
-                        except Exception, inst:
-                            print "Error occures in REC_AUTO_KEYWORD(1)"
-                            print type(inst)
-                            print inst
-                dd = datetime.timedelta(days=1)
-                bt = bt + dd
-                et = et + dd
-                btxt = bt.strftime("%Y-%m-%d %H:%M:%S")
-                etxt = et.strftime("%Y-%m-%d %H:%M:%S")
-                try:
-                    recdb.del_reckey(recdblist.REC_AUTO_KEYWORD, title, chtxt, btime)
-                    recdb.auto_keyreserv(title, chtxt, btxt, etxt, "24", opt)
-                except Exception, inst:
-                    print "Error occures in REC_AUTO_KEYWORD(1)"
-                    print type(inst)
-                    print inst
     sys.exit()
 def search_keyword(key):
     tnow = datetime.datetime.now()
@@ -342,24 +315,23 @@ def type_final(typetxt,chtxt,title,bt,et,opt):
     dt = dtt.days * 24 * 60 * 60 + dtt.seconds
     print dt
     if dt < 6 * 60 and dt > 0:
+        newtitle=title
         recdb.del_reckey(typetxtnow, title, chtxt, btime)
-        recdb.rec_reckey(typetxting, title, chtxt, btime, etime, opt)
-        recdblist.printutf8(u"録画開始 "+title+" "+btime+" "+etime)
-        ttitle=title
-        #recdblist.printutf8(title)
         testpath=[os.path.join(recpath,title+".ts.b25")]
         testpath.append(os.path.join(recpath,title+".ts"))
         testpath.append(os.path.join(recpath,title+".avi"))
-        testpath.append(os.path.join(recpath,title+".mkv"))
+        testpath.append(os.path.join(recpath,title+".mp4"))
         testpath.append(os.path.join(recpath,title+".log"))
         tcheck=0
         for ti in testpath:
             if os.path.exists(ti):
                 tcheck=tcheck+1
-        if tcheck>0:
-            ttitle=title+"_"+datetime.datetime.now().strftime("%Y%m%d%H%M")
-        tv2avi.timetv2b25(recpath + "/" + ttitle + ".avi", chtxt, btime, etime, opt)
-        recdb.del_reckey(typetxting, title, chtxt, btime)
+        if re.search("N", opt) or tcheck>0:
+            newtitle=newtitle+u"_"+bt.strftime("%Y%m%d%H%M")
+        recdb.rec_reckey(typetxting, newtitle, chtxt, btime, etime, opt)
+        recdblist.printutf8(u"録画開始 "+newtitle+" "+btime+" "+etime)
+        tv2avi.timetv2b25(recpath + "/" + newtitle + ".avi", chtxt, btime, etime, opt)
+        recdb.del_reckey(typetxting, newtitle, chtxt, btime)
         if not re.search("R", opt):
             tnow = datetime.datetime.now()
             bt = datetime.datetime.strptime(btime, "%Y-%m-%d %H:%M:%S")
@@ -369,10 +341,10 @@ def type_final(typetxt,chtxt,title,bt,et,opt):
             et = et + dt + datetime.timedelta(seconds=600)
             btime = bt.strftime("%Y-%m-%d %H:%M:%S")
             etime = et.strftime("%Y-%m-%d %H:%M:%S")
-            recdb.rec_reckey(typetxtdecque, ttitle, chtxt, btime, etime, opt)
+            recdb.rec_reckey(typetxtdecque, newtitle, chtxt, btime, etime, opt)
         else:
             shutil.copy(os.path.join(recpath,title+".ts.b25"), os.path.join(movepath,title+".ts.b25"))
-            recdb.rec_reckey(recdblist.REC_MOVE_END, ttitle, chtxt, btime, etime, opt)
+            recdb.rec_reckey(recdblist.REC_MOVE_END, newtitle, chtxt, btime, etime, opt)
         sys.exit()
 def type_keyword(typetxt,chtxt,title,bt,et,opt,deltatime):
     btime = bt.strftime("%Y-%m-%d %H:%M:%S")
@@ -482,7 +454,6 @@ def type_decode_que(typetxt,chtxt,title,bt,et,opt):
                 else:
                     shutil.copy(os.path.join(recpath,title+".ts"), os.path.join(movepath,title+".ts"))
                 recdb.rec_reckey(recdblist.REC_MOVE_END, title, chtxt, btime, etime, opt)
-            #recdblist.printutf8(checker.checkB25Decode(recpath + "/" + title + ".ts.b25", recpath + "/" + title + ".ts"))
             if checker.checkB25Decode(recpath + "/" + title + ".ts.b25", recpath + "/" + title + ".ts") == 1:
                 os.remove(recpath + "/" + title + ".ts.b25")
         else:
@@ -515,16 +486,16 @@ def type_encode_que(typetxt,chtxt,title,bt,et,opt):
             if re.search("5", opt):
                 pin = recpath + "/" + title + ".sa.avi"
             #pout = recpath + "/" + title + ".avi"
-            pout = recpath + "/" + title + ".mp4"
+            pout = recpath + "/" + title + ".mkv"
             recdblist.printutf8(pin)
             #recdblist.printutf8(pin+":"+pout+":"+opt)
             recdb.del_reckey(typetxtnow, title, chtxt, btime)
             recdb.rec_reckey(typetxting, title, chtxt, btime, etime, opt)
-            #tv2mkv.ts2mkv(pin, pout, opt)
-            tv2mp4.ts2mp4(pin, pout, opt)
+            tv2mkv.ts2mkv(pin, pout, opt)
+            #tv2mp4.ts2mp4(pin, pout, opt)
             #tv2avi.ts2avi(pin, pout, opt)
             recdb.del_reckey(typetxting, title, chtxt, btime)
-            if re.search("R", opt):
+            if re.search("E", opt):
                 shutil.copy(os.path.join(recpath,title+".mp4"), os.path.join(movepath,title+".mp4"))
                 recdb.rec_reckey(recdblist.REC_MOVE_END, title, chtxt, btime, etime, opt)
             recdb.rec_reckey(typetxtfin, title, chtxt, btime, etime, opt)