OSDN Git Service

simplify logging system.
authorgn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 31 Jan 2010 00:17:40 +0000 (00:17 +0000)
committergn64_jp <gn64_jp@4e526526-5e11-4fc0-8910-f8fd03428081>
Sun, 31 Jan 2010 00:17:40 +0000 (00:17 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@425 4e526526-5e11-4fc0-8910-f8fd03428081

rec10/trunk/src/recdblist.py
rec10/trunk/src/timerec.py
rec10/trunk/src/ts2x264.py
rec10/trunk/src/tv2avi.py
rec10/trunk/src/tv2mkv.py
rec10/trunk/src/tv2mp4.py
rec10/trunk/src/tv2ts.py

index 7e8febb..3bc1ee3 100644 (file)
@@ -6,6 +6,8 @@
 """
 task names
 """
+import os.path
+
 global REC_RESERVE
 global REC_FINAL_RESERVE
 global REC_ENCODE_GRID
@@ -67,4 +69,30 @@ REC_AUTO_KEYWORD = "auto_keyword"
 REC_BAYES_SUGGEST ="bayes_suggest"
 
 def printutf8(unicode):
-    print unicode.encode('utf-8')
\ No newline at end of file
+    print unicode.encode('utf-8')
+def addlog(tspath,txt,log_title):
+    logo=tspath
+    logo=logo.replace(".ts.tsmix",".ts")
+    logo=logo.replace(".ts.b25",".ts")
+    logo=logo.replace(".sa.avi",".ts")
+    logo=logo.replace(".m2v",".ts")
+    logo=logo.replace(".avi",".ts")
+    logo=logo.replace(".mkv",".ts")
+    logo=logo.replace(".mp4",".ts")
+    logo=logo.replace(".mp3",".ts")
+    logo=logo.replace(".aac",".ts")
+    logo=logo.replace(".srt",".ts")
+    logo=logo.replace(".ts",".log")
+    f=open(logo,'a')
+    s=len(txt)
+    stxt=""
+    if s>100:
+        stxt=txt[s-1000:]
+    else:
+        stxt=txt
+    s=stxt.find("\n")
+    if s>0:
+        stxt=stxt[s:]
+    txt="\n####"+log_title+"####\n"+stxt
+    f.write(txt.encode('utf-8'))
+    f.close()
\ No newline at end of file
index 38d72d6..aa7b7f0 100644 (file)
@@ -278,7 +278,7 @@ def type_reserve(typetxt,chtxt,title,bt,et,opt):
                     auto_rec.add_key("ALL", titlen,exp+" "+longexp)
                     recdblist.printutf8(u"追いかけ機能実行中: "+title+" : "+titlen+" "+btimen+" "+etimen)
                 except Exception, inst:
-                    print "Error happended in Oikake DB"
+                    print "Error happened in Oikake DB"
                     print type(inst)
                     print inst
             else:
@@ -309,7 +309,7 @@ def type_reserve(typetxt,chtxt,title,bt,et,opt):
                 auto_rec.add_key("ALL", titlen,exp+" "+longexp)
                 recdblist.printutf8(u"追いかけ機能実行中: "+title+" : "+titlen+" "+btimen+" "+etimen)
             except Exception, inst:
-                print "Error happended in Oikake DB"
+                print "Error happened in Oikake DB"
                 print type(inst)
                 print inst
     elif dt <= 20 * 60:
@@ -476,10 +476,11 @@ def type_decode_que(typetxt,chtxt,title,bt,et,opt):
                 try:
                     shutil.copy(os.path.join(recpath,title+".ts"), os.path.join(movepath,title+".ts"))
                 except Exception, inst:
-                    print "Error happend in type_decode_que in timerec"
-                    print "move ts error."
-                    print type(inst)
-                    print inst
+                    errtxt="Error happened in type_decode_que in timerec.\n"
+                    errtxt=errtxt+"move ts error.\n"
+                    errtxt=errtxt+type(inst)+"\n"
+                    errtxt=errtxt+inst
+                    recdblist.addlog(os.path.join(recpath,title+".ts"), errtxt, "timerec-move(Decode) error")
                 recdb.rec_reckey(recdblist.REC_MOVE_END, title, chtxt, btime, etime, opt)
             if checker.checkB25Decode(recpath + "/" + title + ".ts.b25", recpath + "/" + title + ".ts") == 1:
                 os.remove(recpath + "/" + title + ".ts.b25")
@@ -531,10 +532,11 @@ def type_encode_que(typetxt,chtxt,title,bt,et,opt):
                     elif os.path.exists(os.path.join(recpath,title+".mkv")):
                         shutil.copy(os.path.join(recpath,title+".mkv"), os.path.join(movepath,title+".mkv"))
                 except Exception, inst:
-                    print "Error happend in type_encode_que in timerec"
-                    print "move mkv/mp4 error."
-                    print type(inst)
-                    print inst
+                    errtxt="Error happened in type_encode_que in timerec.\n"
+                    errtxt=errtxt+"move mkv/mp4 error.\n"
+                    errtxt=errtxt+type(inst)+"\n"
+                    errtxt=errtxt+inst
+                    recdblist.addlog(os.path.join(recpath,title+".ts"), errtxt, "timerec-move(Encode) error")
                 recdb.rec_reckey(recdblist.REC_MOVE_END, title, chtxt, btime, etime, opt)
             recdb.rec_reckey(typetxtfin, title, chtxt, btime, etime, opt)
             sys.exit()
index 9e4a805..d72e6b5 100644 (file)
@@ -159,22 +159,8 @@ def encode(pin,pout,size,is2pass,is24fps,quality):
         pas1exe = "nice -n 19 " + pas1exe
         recdblist.printutf8(pas1exe)
         txt=txt+unicode(commands.getoutput(pas1exe.encode('utf-8')),'utf-8')
-    logo=pin
-    logo=logo.replace(".sa.avi",".ts")
-    logo=logo.replace(".ts",".log")
-    f=open(logo,'a')
-    s=len(txt)
-    stxt=""
-    if s>100:
-        stxt=txt[s-1000:]
-    else:
-        stxt=txt
-    s=stxt.find("\n")
-    if s>0:
-        stxt=stxt[s:]
-    txt="\n####mencoder-log_"+size+"####\n"+stxt
-    f.write(txt.encode('utf-8'))
-    f.close()
+
+    recdblist.addlog( pin, txt, "mencoder-log")
 
 def encode_ffmpeg(pin,pout,size,is2pass,is24fps,quality):
     """
@@ -255,20 +241,5 @@ def encode_ffmpeg(pin,pout,size,is2pass,is24fps,quality):
         txt=txt+exe+"\n"
         exe = "nice -n 19 " + exe
         os.system(exe.encode('utf-8'))
-    logo=pin
-    logo=logo.replace(".m2v",".ts")
-    logo=logo.replace(".ts",".log")
-    f=open(logo,'a')
-    s=len(txt)
-    stxt=""
-    if s>100:
-        stxt=txt[s-300:]
-    else:
-        stxt=txt
-    s=stxt.find("\n")
-    if s>0:
-        s=s+len("\n")
-        stxt=stxt[s:]
-    txt="\n####dualaudio ffmpeg-log_"+size+"####\n"+stxt
-    f.write(txt.encode('utf-8'))
-    f.close()
\ No newline at end of file
+    recdblist.addlog( pin, txt, "dual audio ffmpeg-log")
+    
\ No newline at end of file
index 0f04553..170bf72 100644 (file)
@@ -73,7 +73,7 @@ def b252ts(pout, chtxt, btime, etime, opt):
         if pentaaudio == 1:
             pentaaudiots2avi(aviin, tsout + ".sa.avi")
     except Exception, inst:
-        print "Error happend in b252ts in tv2avi"
+        print "Error happened in b252ts in tv2avi"
         print type(inst)
         print inst
     status.changeB25Decoding(-1)
index 390e5bd..343dca2 100644 (file)
@@ -96,13 +96,10 @@ def avi2mkv(pin,pout,opt):
             txt=txt+execcomd(e2s)
         else:
             txt=txt+execcomd(e2)
+    recdblist.addlog(pout, txt, "mkvmerge-log")
     logo=pout.replace(".mkv",".log")
     if status.getSettings_auto_del_tmp()==1:
         deltitle(dir,title)
-    txt = "\n####mkvmerge-log####\n"+txt
-    f=open(logo,'a')
-    f.write(txt.encode('utf-8'))
-    f.close()
 def execcomd(cmd):
     txt=""
     cmdt=u"nice -n 17 "+cmd
index c865c34..5911e94 100644 (file)
@@ -90,7 +90,7 @@ def avi2mp4(pin,pout,opt):
         except:\r
             ""\r
         if (not os.path.exists(pin.replace(".avi",".120.avi"))and (not os.path.exists(pout))):\r
-            txt=txt+"CFR2TC error. maybe avi file is over 1GB.(ODML error would have happend.)"\r
+            txt=txt+"CFR2TC error. maybe avi file is over 1GB.(ODML error would have happened.)"\r
             ptmp=pin.replace(".avi",".noodml.avi")\r
             e="mencoder -noodml -forceidx -oac copy -ovc copy -o \'"+ptmp+"\'"+" \'"+pin+"\'"\r
             ex="nice -n 17 "+e\r
@@ -152,11 +152,7 @@ def avi2mp4(pin,pout,opt):
         e2=exe+u" -fps 29.970030 -add \'"+videopath+u"\' -add \'"+audiopath+u"\' -new \'"+ptmp+u"\'"\r
         os.system(e2)\r
         shutil.move(ptmp,pout)\r
-    logo=pin.replace(u".avi",u".log")\r
-    txt = "\n####MP4Box-log####\n"+txt\r
-    f=open(logo,'a')\r
-    f.write(txt.encode('utf-8'))\r
-    f.close()\r
+    recdblist.addlog(pin,txt,"MP4Box-log")\r
     time.sleep(10)\r
     delpath=[]\r
     delpath.append(pin.replace(u".avi",u".120.avi"))\r
@@ -200,17 +196,17 @@ def mkv2mp4(pin,pout):
     exe1=exeb+u" timecodes_v2 \'"+pin+"\' 1:\'"+timecodepath+"\'"\r
     exe2=exe+u" -fps 29.970030 -add \'"+videopath+u"\' -add \'"+audiopath+u"\' -new \'"+tmpmp4+u"\'"\r
     exe3=wineexe+u" "+dtsedit+u" -tc \'Z:\\"+timecodepath+u"\' \'Z:\\"+tmpmp4+u"\' -o \'Z:\\"+pout+u"\'"\r
-    logo=pin.replace(".avi",".log")\r
     os.environ['LANG']="ja_JP.UTF-8"\r
     txt=""\r
-    execcomd(exe0)\r
-    execcomd(exe1)\r
-    execcomd(exe2)\r
-    execcomd(exe3)\r
+    try:\r
+        txt=txt+execcomd(exe0)+"\n"\r
+        txt=txt+execcomd(exe1)+"\n"\r
+        txt=txt+execcomd(exe2)+"\n"\r
+        txt=txt+execcomd(exe3)+"\n"\r
+    except:\r
+        ""\r
+    recdblist.addlog(pin, txt, "MKV2MP4-log")\r
     txt = "\n####MKV2MP4-log####\n"+txt\r
-    f=open(logo,'a')\r
-    f.write(txt.encode('utf-8'))\r
-    f.close()\r
     time.sleep(10)\r
     if os.path.exists(pout):\r
         if os.path.exists(audiopath):\r
index edacd09..3ff62d4 100644 (file)
@@ -83,12 +83,7 @@ def tv2b25ts(pout, ch, time):
     try:
         doexe = exe + ' ' + ch + ' ' + time + ' \'' + pout + '\''
         recdblist.printutf8(doexe)
-        txt=u"####recpt1-log####\n"
-        txt = txt + unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8')
-        logo=pout.replace(".ts.b25",".log")
-        f=open(logo,'w')
-        f.write(txt.encode('utf-8'))
-        f.close()
+        recdblist.addlog(pout, unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8'), u"recpt1-log")
     except Exception, inst:
         print "error occures in tv2ts.py tv2b25ts"
         print type(inst)
@@ -112,37 +107,18 @@ def b252tsmix(pin, pout):
         exe = exe + "nice -n 17 " + configreader.getpath('b25')
         doexe = exe + u' \"' + pin + u'\" \"' + pout + u'\"'
         recdblist.printutf8(doexe)
-        logo=pin.replace(".ts.b25",".log")
         txt = unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8')
-        s=len(txt)
-        stxt=""
-        if s>1000:
-            s=s-1000
-            stxt=txt[s:]
-        else:
-            stxt=txt
-        s=stxt.find("\n")
-        if s>0:
-            s=s+len("\n")
-            stxt=stxt[s:]
-        txt = "\n####b25-log####\n"+stxt
-        f=open(logo,'a')
-        f.write(txt.encode('utf-8'))
-        f.close()
+        recdblist.addlog(pin, txt, u"b25-log")
 def tsmix2ts(pin, pout, csch):#csch=0ならcsの処理をしない
     """if csch==0:
         shutil.move(pin,pout)
     else:"""
     doexe = configreader.getpath("tssplitter") + " \""+ pin + "\" \""+ pout + "\" " + str(csch)
     doexe = "nice -n 18 " + doexe
-    logo=pin.replace(".ts.tsmix",".log")
     os.environ['LANG']="ja_JP.UTF-8"
     txt = unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8')
-    stxt=txt
-    txt = "\n####tssplit-log####\nCommand:"+doexe+"\nlog:\n"+stxt
-    f=open(logo,'a')
-    f.write(txt.encode('utf-8'))
-    f.close()
+    txt = doexe+"\n\n"+txt
+    recdblist.addlog(pin, txt, "tssplit-log")
     time.sleep(1)
     if os.access(pout, os.F_OK) and os.path.getsize(pout)>10*1000*1000:
         os.remove(pin)