OSDN Git Service

make DVB driver usable.
[rec10/rec10-git.git] / rec10 / trunk / src / timerec.py
index d53b5e1..18c403a 100644 (file)
@@ -41,8 +41,12 @@ def task():
             import scan_ch
             rec10d.rec10db.new_epg_ch()
             scan_ch.searchCh()
-            rec10d.rec10db.change_chscaned_in_status()
-    except:
+            rec10d.rec10db.change_installed_in_status(100)
+        elif rec10d.rec10db.select_installed_in_status()==2:
+            recdblist.printutf8ex("Exit because CH scanning.", 200, 200)
+            sys.exit(0)
+    except Exception, inst:
+        recdblist.addCommonlogEX("Error", "install_check(timerec.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
         install.install()
     recdb.deleteOldProgramBeforeTheseHours("24")
     recdb.delete_old_auto_bayes("1")
@@ -54,7 +58,7 @@ def task():
     encodenum=0
     b25num=0
     dnow=datetime.datetime.now()
-    if dnow.minute%10<5:
+    if dnow.minute % 10 < 5:
         pid = os.fork()
         if pid != 0:
             ""
@@ -73,6 +77,8 @@ def task():
             auto_process.killDeadEncode(recpath)
             sys.exit()
     update = chdb.update()
+    updatelogo = chdb.updateLogo()
+    updatelogo=[]
     if len(update) > 0:
         pid = os.fork()
         if pid != 0:
@@ -100,6 +106,32 @@ def task():
             time.sleep(5)
             auto_process.update_all_timeline_epg()
             sys.exit()
+    elif len(updatelogo)>0:
+        pid = os.fork()
+        if pid != 0:
+            ""
+        else:
+            i = 0
+            for bctype in updatelogo:
+                recnum = 0
+                if bctype.find('te') > -1:
+                    recnum = status.getTERecording() + recdb.countRecNow_minutes_TE("1200")
+                    recdblist.printutf8(u"ロゴ未取得 : 放送種別-"+bctype + u"||該当チューナー実行中件数:" + str(status.getTERecording()) + u":直近予約件数:" + str(recdb.countRecNow_minutes_TE("10")),verbose_level=800)
+                    recnum = int(configreader.getConfEnv("te_max")) -recnum
+                else:
+                    recnum = status.getBSCSRecording() + recdb.countRecNow_minutes_BSCS("1200")
+                    recdblist.printutf8(u"ロゴ未取得 : 放送種別-"+bctype + u"||該当チューナー実行中件数:" + str(status.getBSCSRecording()) + u":直近予約件数:" + str(recdb.countRecNow_minutes_BSCS("10")),verbose_level=800)
+                    recnum = int(configreader.getConfEnv("bscs_max")) -recnum
+                if recnum >0 :
+                    recdblist.printutf8(u"ロゴ取得"+str(updatelogo),verbose_level=750)
+                    rec10d.rec10db.update_logostatus_by_bctype_epg_ch(bctype,"0")
+                    epgdb.updateLogo_bc(bctype)
+                    updatelogo = chdb.updateLogo()
+                    i = i + 1
+                if i > 0:
+                    break
+            time.sleep(5)
+            sys.exit()
     else:
         pid = os.fork()
         if pid != 0:
@@ -195,10 +227,10 @@ def task():
                 if pid > 0:#親プロセスの場合
                     ""
                 else:
-                    makeMP4=0
+                    makeMP4=1
                     try:
-                        if configreader.getConfEnv("make_mp4")==1:
-                            makeMP4=1
+                        if configreader.getConfEnv("make_mp4")==0:
+                            makeMP4=0
                     except:
                         ""
                     if re.search("m", opt):
@@ -210,7 +242,9 @@ def task():
                     if makeMP4==1:
                         tv2mp4.raw2mp4(os.path.join(recpath,title+".264"),os.path.join(recpath,title+".mp4"),opt)
                     else:
-                        tv2mkv.raw2mkv(os.path.join(recpath,title+".264"),os.path.join(recpath,title+".mkv"),opt)
+                        tv2mp4.raw2mp4(os.path.join(recpath,title+".264"),os.path.join(recpath,title+".mp4"),opt)
+                        tv2mkv.mp42mkv(os.path.join(recpath,title+".mp4"), os.path.join(recpath,title+".mkv"))
+                        os.remove(os.path.join(recpath,title+".mp4"))
                     recdb.deleteReckey(recdblist.REC_CHANGING_CANTAINER, title, chtxt, btime)
                     sys.exit()
         elif task["type"] == recdblist.REC_AVI_TO_MP4:
@@ -284,11 +318,10 @@ def search_keyword(key):
                                 recdb.reserveReckey(recdblist.REC_RESERVE,titlet,chtxtt, btimet, etimet,topt)
                     except Exception, inst:
                         recdblist.addCommonlogEX("Error", "search_keyword_auto_jbk(timerec.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
-                else:
-                    try:
-                        recdb.reserveAutoKeyword(chtxtt, titlet, btimet, etimet)
-                    except Exception, inst:
-                        recdblist.addCommonlogEX("Error", "search_keyword(timerec.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
+                try:
+                    recdb.reserveAutoKeyword(chtxtt, titlet, btimet, etimet)
+                except Exception, inst:
+                    recdblist.addCommonlogEX("Error", "search_keyword(timerec.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
 def type_reserve(typetxt,chtxt,title,bt,et,opt):
     btime = bt.strftime("%Y-%m-%d %H:%M:%S")
     etime = et.strftime("%Y-%m-%d %H:%M:%S")
@@ -470,7 +503,7 @@ def type_keyword(typetxt,chtxt,title,bt,et,opt,deltatime):
         recdb.deleteReckey(typetxtnow, title, chtxt, btime)
         recdb.reserveReckey(typetxtres, title, chtxt, btime, etime, opt)
         recdblist.addCommonlogEX(u"エラー","timerec.py",u"nothing match","",log_level=200)
-        recdblist.addCommonlogEX(u"エラー","timerec.py",u"key "+title+u" : "+titlet+u" "+btimet+u" "+etimet,"",log_level=200)
+        recdblist.addCommonlogEX(u"エラー","timerec.py",u"key "+title+u" "+btime+u" "+etime,"",log_level=200)
 def type_keyword_every_day(type,chtxt,title,bt,et,opt,deltatime,deltaday,counter):
     btime = bt.strftime("%Y-%m-%d %H:%M:%S")
     etime = et.strftime("%Y-%m-%d %H:%M:%S")
@@ -484,7 +517,10 @@ def type_keyword_every_day(type,chtxt,title,bt,et,opt,deltatime,deltaday,counter
         et = et + dd
         btxt = bt.strftime("%Y-%m-%d %H:%M:%S")
         etxt = et.strftime("%Y-%m-%d %H:%M:%S")
-        recdb.reserveEverydayKeyword(title, chtxt, btxt, etxt, deltatime, opt, deltaday)
+        if counter>0:
+            recdb.reserveEverydayKeyword(title, chtxt, btxt, etxt, deltatime, opt, deltaday,counter-1)
+        elif counter==-1:
+            recdb.reserveEverydayKeyword(title, chtxt, btxt, etxt, deltatime, opt, deltaday,-1)
     elif dt < 120 * 60:
         recdb.deleteReckey(recdblist.REC_KEYWORD_EVERY_SOME_DAYS, title, chtxt, btime)
         bt = bt + dd
@@ -618,6 +654,14 @@ def type_encode_que(typetxt,chtxt,title,bt,et,opt):
                     if not os.path.exists(paac2) and not os.path.exists(pmp32):
                         tv2audio.ts2pentaaudio_BonTsDemux(os.path.join(recpath, title+".ts"), recdblist.BONTSDEMUX_DELAY, opt)
                 time.sleep(3)
+            elif re.search("b", opt):
+                pin = recpath + "/" + title + ".m2v"
+                if not os.path.exists(pin) or os.path.getsize(pin)<100*1000:
+                    paac2 = recpath + "/" + title + ".aac"
+                    pmp32 = recpath + "/" + title + ".mp3"
+                    if not os.path.exists(paac2) and not os.path.exists(pmp32):
+                        tv2audio.ts2single_fp_BonTsDemux(os.path.join(recpath, title+".ts"),opt)
+                time.sleep(3)
             makeMP4=0
             try:
                 if configreader.getConfEnv("make_mp4")=="1":