OSDN Git Service

stop using trunk directory in rectool
[rec10/rec10-git.git] / rec10 / trunk / src / recdblist.py
index db71f64..8bb5edf 100644 (file)
@@ -1,13 +1,17 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2010 Yukikaze
+# Copyright (C) 2009-2011 Yukikaze
 
 """
 task names
 """
+import datetime
 import os
 import os.path
+import traceback
+
+import configreader
 
 global REC_RESERVE
 global REC_FINAL_RESERVE
@@ -69,18 +73,95 @@ REC_AUTO_SUGGEST_AP2FP = "auto_suggest_ap2fp"
 REC_AUTO_KEYWORD = "auto_keyword"
 REC_BAYES_SUGGEST ="bayes_suggest"
 
-version = 94
-def printutf8(unicode):
+global BONTSDEMUX_DELAY
+BONTSDEMUX_DELAY="0"
+
+version = 102
+version_str="0.9.10"
+
+global verbose_level_now
+global log_level_now
+
+try:
+    log_level_now=int(configreader.getConfLog("log_level"))
+    verbose_level_now=int(configreader.getConfLog("verbose_level"))
+except:
+    log_level_now=900
+    verbose_level_now=400
+
+os.environ['LANG'] = "ja_JP.UTF-8"
+my_env = os.environ
+my_env['LANG'] = "ja_JP.UTF-8"
+
+def getEnv():
+    return my_env
+def printutf8(unicode,verbose_level=500):
+    if verbose_level_now > verbose_level:
+        try:
+            str=unicode.encode('utf-8')
+            print str
+        except Exception, inst:
+            recdblist.addCommonlogEX("Error", "printutf8(recdblist.py)", str(type(inst)), str(inst)+traceback.format_exc(),log_level=200)
+def printutf8ex(unicode,verbose_level=500,log_level=500):
     str=unicode.encode('utf-8')
-    print str
+    if verbose_level_now > verbose_level:
+        print str
+    logfname="/var/log/rec10"
+    mode="a"
+    if log_level_now > log_level:
+        if os.path.exists(logfname):
+            f=open(logfname,mode)
+            f.write(str+"\n")
+            f.close()
+def printutf8_Important(unicode):
+    printutf8ex(unicode,100,100)
+def printutf8_Normal(unicode):
+    printutf8ex(unicode,300,300)
+def printutf8_Detailed(unicode):
+    printutf8ex(unicode,600,600)
+def addCommonlogEX(type,place,inst,txt,verbose_level=500,log_level=500):
+    lt=unicode(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))+u":"
+    if txt=="":
+        lt=lt+u"["+type+u"] "+place+u" "+inst
+    else:
+        try:
+            lt=lt+u"["+type+u"] "+place+u" "+inst+u"\n"+txt
+        except:
+            print [type,place,inst,txt]
+    lt=lt.encode('utf-8')
     logfname="/var/log/rec10"
     mode="a"
-    if not os.path.exists(logfname):
-        mode="w"
-    f=open(logfname,mode)
-    f.write(str+"\n")
+    if verbose_level_now > verbose_level:
+        print lt
+    if log_level_now > log_level:
+        if os.path.exists(logfname):
+            f=open(logfname,mode)
+            f.write(lt+"\n")
+            f.close()
+def addCommandLog(tspath,log_title,cmd,cmd_log=""):
+    addLog(tspath,cmd,log_title+u"ログ-コマンド")
+    addLog(tspath,cmd_log,log_title+u"ログ-詳細")
+def addCommandLogZip(tspath,log_title,log_filename_add,cmd,cmd_log=""):
+    logtitle=getLogTitle(tspath)
+    logo=logtitle+"."+log_filename_add+".log"
+    logzip=logtitle+".log.zip"
+    addLogAll(tspath,cmd+"\n\n"+cmd_log,log_title,logo)
+    import zip
+    zip.addFile2FileZip(logo,logzip)
+    os.remove(logo)
+def addCommandSelfLog(tspath,command):
+    logpath=getLogTitle(tspath)+".command.log"
+    f=""
+    if os.path.exists(logpath):
+        f=open(logpath,'a')
+    else:
+        f=open(logpath,'w')
+    tc=command+u"\n\n"
+    tc=unicode(tc)
+    f.write(tc.encode("utf-8"))
+    #f.write(tc.encode('utf-8','ignore'))
     f.close()
-def addlog(tspath,txt,log_title):
+def getLogTitle(tspath):
     logo=tspath
     logo=logo.replace("_1.wav",".ts")
     logo=logo.replace("_2.wav",".ts")
@@ -99,17 +180,30 @@ def addlog(tspath,txt,log_title):
     logo=logo.replace(".mp3",".ts")
     logo=logo.replace(".aac",".ts")
     logo=logo.replace(".srt",".ts")
-    logo=logo.replace(".ts",".log")
+    logo=logo.replace(".264",".ts")
+    logo=logo.replace(".ts","")
+    return logo
+def addLog(tspath,txt,log_title,maxtextlength=1500):
+    logo=getLogTitle(tspath)+".log"
     f=open(logo,'a')
     s=len(txt)
     stxt=""
-    if s>1600:
-        stxt=txt[0:800]+"\n\n(ry..)\n"
-        st=txt[s-800:].find("\n")
+    if s>maxtextlength*2 and maxtextlength>0:
+        stxt=txt[0:maxtextlength]+"\n\n(ry..)\n"
+        st=txt[s-maxtextlength:].find("\n")
         if st>0:
-            stxt=stxt+txt[s-800+st:]
+            stxt=stxt+txt[s-1500+st:]
     else:
         stxt=txt
-    txtw="\n####"+log_title+"####\n"+stxt
+    txtw= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
+    txtw=txtw+"\n####"+log_title+"####\n"+stxt
     f.write(txtw.encode('utf-8'))
-    f.close()
\ No newline at end of file
+    f.close()
+def addLogAll(tspath,txt,log_title,logpath):
+    logo=logpath
+    f=open(logo,'a')
+    stxt=txt
+    txtw= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
+    txtw=txtw+"\n####"+log_title+"####\n"+stxt
+    f.write(txtw.encode('utf-8'))
+    f.close()