OSDN Git Service

add dist
[rec10/rec10-git.git] / dist / trunk / rec10 / recdblist.py
diff --git a/dist/trunk/rec10/recdblist.py b/dist/trunk/rec10/recdblist.py
new file mode 100755 (executable)
index 0000000..1b60dc9
--- /dev/null
@@ -0,0 +1,197 @@
+#!/usr/bin/python\r
+# coding: UTF-8\r
+# Rec10 TS Recording Tools\r
+# Copyright (C) 2009-2011 Yukikaze\r
+\r
+"""\r
+task names\r
+"""\r
+import datetime\r
+import os\r
+import os.path\r
+import traceback\r
+\r
+import configreader\r
+\r
+global REC_RESERVE\r
+global REC_FINAL_RESERVE\r
+global REC_ENCODE_GRID\r
+global REC_ENCODE_LOCAL\r
+global REC_ENCODE_QUE\r
+global REC_MISS_ENCODE\r
+global REC_KEYWORD\r
+global REC_KEYWORD_EVERY_SOME_DAYS\r
+global REC_FIN_LOCAL\r
+global REC_MISS_DECODE\r
+global REC_TS_DECODE_QUE\r
+global REC_TS_DECODING\r
+global REC_TS_RECORDING\r
+global REC_AVI_TO_MKV\r
+global REC_AVI_TO_MP4\r
+global REC_MKV_TO_MP4\r
+global REC_CHANGING_CANTAINER\r
+\r
+#ここから処理のちに移動\r
+\r
+global REC_MOVE_END\r
+\r
+#ここから自動で提起される処理。\r
+global REC_AUTO_SUGGEST_REC\r
+global REC_AUTO_SUGGEST_DECODE\r
+global REC_AUTO_SUGGEST_ENCODE\r
+global REC_AUTO_SUGGEST_AVI2MP4\r
+global REC_AUTO_SUGGEST_MKV2MP4\r
+global REC_AUTO_SUGGEST_AVI2FP\r
+global REC_AUTO_SUGGEST_AP2FP\r
+global REC_BAYES_SUGGEST\r
+global REC_AUTO_KEYWORD\r
+REC_RESERVE = "reserve_flexible"\r
+REC_FINAL_RESERVE = "reserve_fixed"\r
+REC_ENCODE_GRID = "convert_ts_mp4_network"\r
+REC_ENCODE_LOCAL = "convert_ts_mp4_running"\r
+REC_ENCODE_QUE = "convert_ts_mp4"\r
+REC_MISS_ENCODE = "convert_avi_mp4_miss"\r
+REC_KEYWORD = "search_today"\r
+REC_KEYWORD_EVERY_SOME_DAYS = "search_everyday"\r
+REC_FIN_LOCAL = "convert_ts_mp4_finished"\r
+REC_MISS_DECODE = "convert_b25_ts_miss"\r
+REC_TS_DECODE_QUE = "convert_b25_ts"\r
+REC_TS_DECODING = "convert_b25_ts_running"\r
+REC_TS_RECORDING = "reserve_running"\r
+REC_CHANGING_CANTAINER = "convert_mkv_mp4_runnings"\r
+REC_AVI_TO_MKV = "convert_avi_mkv"\r
+REC_AVI_TO_MP4 = "convert_avi_mp4"\r
+REC_MKV_TO_MP4 = "convert_mkv_mp4"\r
+\r
+REC_MOVE_END = "move_end"\r
+\r
+REC_AUTO_SUGGEST_REC = "auto_suggest_rec"\r
+REC_AUTO_SUGGEST_DECODE = "auto_suggest_dec"\r
+REC_AUTO_SUGGEST_ENCODE = "auto_suggest_enc"\r
+REC_AUTO_SUGGEST_AVI2FP = "auto_suggest_avi2fp"\r
+REC_AUTO_SUGGEST_AP2FP = "auto_suggest_ap2fp"\r
+REC_AUTO_KEYWORD = "auto_keyword"\r
+REC_BAYES_SUGGEST ="bayes_suggest"\r
+\r
+global BONTSDEMUX_DELAY\r
+BONTSDEMUX_DELAY="0"\r
+\r
+version = 101\r
+version_str="0.9.10"\r
+\r
+global verbose_level_now\r
+global log_level_now\r
+\r
+try:\r
+    log_level_now=int(configreader.getConfLog("log_level"))\r
+    verbose_level_now=int(configreader.getConfLog("verbose_level"))\r
+except:\r
+    log_level_now=900\r
+    verbose_level_now=400\r
+def printutf8(unicode,verbose_level=500):\r
+    if verbose_level_now > verbose_level:\r
+        try:\r
+            str=unicode.encode('utf-8')\r
+            print str\r
+        except Exception, inst:\r
+            recdblist.addCommonlogEX("Error", "printutf8(recdblist.py)", str(type(inst)), str(inst)+traceback.format_exc(),log_level=200)\r
+def printuft8ex(unicode,verbose_level=500,log_level=500):\r
+    str=unicode.encode('utf-8')\r
+    if verbose_level_now > verbose_level:\r
+        print str\r
+    logfname="/var/log/rec10"\r
+    mode="a"\r
+    if log_level_now > log_level:\r
+        if os.path.exists(logfname):\r
+            f=open(logfname,mode)\r
+            f.write(str+"\n")\r
+            f.close()\r
+def addCommonlogEX(type,place,inst,txt,verbose_level=500,log_level=500):\r
+    lt=unicode(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))+u":"\r
+    if txt=="":\r
+        lt=lt+u"["+type+u"] "+place+u" "+inst\r
+    else:\r
+        try:\r
+            lt=lt+u"["+type+u"] "+place+u" "+inst+u"\n"+txt\r
+        except:\r
+            print [type,place,inst,txt]\r
+    lt=lt.encode('utf-8')\r
+    logfname="/var/log/rec10"\r
+    mode="a"\r
+    if verbose_level_now > verbose_level:\r
+        print lt\r
+    if log_level_now > log_level:\r
+        if os.path.exists(logfname):\r
+            f=open(logfname,mode)\r
+            f.write(lt+"\n")\r
+            f.close()\r
+def addCommandLog(tspath,log_title,cmd,cmd_log=""):\r
+    addLog(tspath,cmd,log_title+u"ログ-コマンド")\r
+    addLog(tspath,cmd_log,log_title+u"ログ-詳細")\r
+def addCommandLogZip(tspath,log_title,log_filename_add,cmd,cmd_log=""):\r
+    logtitle=getLogTitle(tspath)\r
+    logo=logtitle+"."+log_filename_add+".log"\r
+    logzip=logtitle+".log.zip"\r
+    addLogAll(tspath,cmd+"\n\n"+cmd_log,log_title,logo)\r
+    import zip\r
+    zip.addFile2FileZip(logo,logzip)\r
+    os.remove(logo)\r
+def addCommandSelfLog(tspath,command):\r
+    logpath=getLogTitle(tspath)+".command.log"\r
+    f=""\r
+    if os.path.exists(logpath):\r
+        f=open(logpath,'a')\r
+    else:\r
+        f=open(logpath,'w')\r
+    tc=command+u"\n\n"\r
+    tc=unicode(tc)\r
+    f.write(tc.encode("utf-8"))\r
+    #f.write(tc.encode('utf-8','ignore'))\r
+    f.close()\r
+def getLogTitle(tspath):\r
+    logo=tspath\r
+    logo=logo.replace("_1.wav",".ts")\r
+    logo=logo.replace("_2.wav",".ts")\r
+    logo=logo.replace("_1.aac",".ts")\r
+    logo=logo.replace("_2.aac",".ts")\r
+    logo=logo.replace("_1.mp3",".ts")\r
+    logo=logo.replace("_2.mp3",".ts")\r
+    logo=logo.replace(".ts.tsmix",".ts")\r
+    logo=logo.replace(".ts.b25",".ts")\r
+    logo=logo.replace(".sa.avi",".ts")\r
+    logo=logo.replace(".m2v",".ts")\r
+    logo=logo.replace(".avi",".ts")\r
+    logo=logo.replace(".mkv",".ts")\r
+    logo=logo.replace(".wav",".ts")\r
+    logo=logo.replace(".mp4",".ts")\r
+    logo=logo.replace(".mp3",".ts")\r
+    logo=logo.replace(".aac",".ts")\r
+    logo=logo.replace(".srt",".ts")\r
+    logo=logo.replace(".264",".ts")\r
+    logo=logo.replace(".ts","")\r
+    return logo\r
+def addLog(tspath,txt,log_title,maxtextlength=1500):\r
+    logo=getLogTitle(tspath)+".log"\r
+    f=open(logo,'a')\r
+    s=len(txt)\r
+    stxt=""\r
+    if s>maxtextlength*2 and maxtextlength>0:\r
+        stxt=txt[0:maxtextlength]+"\n\n(ry..)\n"\r
+        st=txt[s-maxtextlength:].find("\n")\r
+        if st>0:\r
+            stxt=stxt+txt[s-1500+st:]\r
+    else:\r
+        stxt=txt\r
+    txtw= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\r
+    txtw=txtw+"\n####"+log_title+"####\n"+stxt\r
+    f.write(txtw.encode('utf-8'))\r
+    f.close()\r
+def addLogAll(tspath,txt,log_title,logpath):\r
+    logo=logpath\r
+    f=open(logo,'a')\r
+    s=len(txt)\r
+    stxt=txt\r
+    txtw= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\r
+    txtw=txtw+"\n####"+log_title+"####\n"+stxt\r
+    f.write(txtw.encode('utf-8'))\r
+    f.close()\r