OSDN Git Service

convert CRLF to LF
[rec10/rec10-git.git] / rec10 / trunk / src / auto_move.py
index 9f7f95e..195b1b8 100644 (file)
-#!/usr/bin/python\r
-# coding: UTF-8\r
-# Rec10 TS Recording Tools\r
-# Copyright (C) 2009-2011 Yukikaze\r
-\r
-import glob\r
-import os\r
-import os.path\r
-import re\r
-import time\r
-import shutil\r
-import traceback\r
-import sys\r
-\r
-import recdblist\r
-import guess\r
-def getTitle(title):\r
-    rT=re.compile("(.+)_(\d+)\Z")\r
-    tT=rT.match(title)\r
-    rT2=re.compile("(.+)_(.+)_(\d*)\Z")#_(aichi)_2010-02-06T01:59:00.mkv\r
-    tT2=rT2.match(title)\r
-    rT3=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+:\d+:\d+\Z")#_(aichi)_2010-02-06T01:59:00.mkv\r
-    tT3=rT3.match(title)\r
-    rT4=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+-\d+-\d+\Z")#_(aichi)_2010-02-06T01-59-00.mkv\r
-    tT4=rT4.match(title)\r
-    rT5=re.compile("(.+)_(.+)_(.+)\Z")#_(aichi)_2010-02-06T01-59-00.mkv\r
-    tT5=rT5.match(title)\r
-    ntitle=title\r
-    if tT :\r
-        ntitle=tT.group(1)\r
-    elif tT2:\r
-        ntitle=tT2.group(1)\r
-    elif tT3:\r
-        ntitle=tT3.group(1)\r
-    elif tT4:\r
-        ntitle=tT4.group(1)\r
-    elif tT5:\r
-        ntitle=tT5.group(1)\r
-    return ntitle\r
-def searchFile(temppath,recpath,ext):\r
-    """\r
-    録画一時フォルダ内ファイルを検索\r
-    """\r
-    avilist = glob.glob(temppath + "/*"+ext)\r
-    ret=[]\r
-    for avif in avilist:\r
-        ##b25f is title.ts.b25  avi is title.avi\r
-        dir = os.path.split(avif)[0]\r
-        title = os.path.split(avif)[1]\r
-        title = title.replace(ext, "")\r
-        avipath = os.path.join(dir, title + ext)\r
-        if os.path.exists(avipath):\r
-            dtime = time.time()-os.path.getmtime(avipath)\r
-            dtime = int(dtime)\r
-            if dtime > 300:\r
-                if veryfySize(avipath):\r
-                    ret.append(title)\r
-    return ret\r
-def getMoveDestpath(title,temppath,recpath,ext):\r
-    dstpath=os.path.join(recpath,title+ext)\r
-    srcpath=os.path.join(temppath,title+ext)\r
-    if os.path.exists(dstpath):\r
-        if not os.path.getsize(dstpath) == os.path.getsize(srcpath):\r
-            gmtime=time.gmtime(os.path.getmtime(srcpath))\r
-            iff=""\r
-            try:\r
-                iff=u"("+configreader.getConfEnv("iff")+u")_"\r
-                if iff==u"()_":\r
-                    iff = u""\r
-            except:\r
-                iff=""\r
-            title=title+u"_"+iff+time.strftime("%Y-%m-%dT%H-%M-%S",gmtime)\r
-        else:\r
-            recdblist.printutf8(u"同サイズのファイルが存在します")\r
-\r
-    return title\r
-def getDelpath(temppath,title,addfp=1):\r
-    delpath=[os.path.join(temppath,title+".ts")]\r
-    delpath.append(os.path.join(temppath,title+".avi"))\r
-    if addfp==1:\r
-        delpath.append(os.path.join(temppath,title+".mp4"))\r
-        delpath.append(os.path.join(temppath,title+".mkv"))\r
-    delpath.append(os.path.join(temppath,title+".m2v"))\r
-    delpath.append(os.path.join(temppath,title+".120.avi"))\r
-    delpath.append(os.path.join(temppath,title+".timecode.txt"))\r
-    delpath.append(os.path.join(temppath,title+".aac"))\r
-    delpath.append(os.path.join(temppath,title+".ts.b25"))\r
-    delpath.append(os.path.join(temppath,title+".ts.tsmix"))\r
-    delpath.append(os.path.join(temppath,title+".ts.log"))\r
-    delpath.append(os.path.join(temppath,title+".sa.avi"))\r
-    delpath.append(os.path.join(temppath,title+".sa.avi.log"))\r
-    delpath.append(os.path.join(temppath,title+".log"))\r
-    delpath.append(os.path.join(temppath,title+".log.zip"))\r
-    return delpath\r
-def veryfySize(path):\r
-    #vsize=[297,497,596,1196]#SD 30m 1h 1.5h 2h\r
-    vsize=[245,275,295,591,830]\r
-    vsize=vsize+[325,449,560,590,602,690,805,860,1014,1138,1237]\r
-    vsize=vsize+[261,535,540,616,740]#HD 30m 1h\r
-    #vsize=vsize+[381,895,447]\r
-    ret = 0\r
-    for size in vsize:\r
-        if os.path.getsize(path)>(size-10)*1024*1024 and os.path.getsize(path)<(size+10)*1024*1024:\r
-            ret=1\r
-    if os.path.getsize(path)>270*1024*1024:\r
-        ret=1\r
-    return ret\r
-def execMove(title,temppath,recpath,ext,autodel):\r
-    srcpath=os.path.join(temppath,title+ext)\r
+#!/usr/bin/python
+# coding: UTF-8
+# Rec10 TS Recording Tools
+# Copyright (C) 2009-2011 Yukikaze
+
+import glob
+import os
+import os.path
+import re
+import time
+import shutil
+import traceback
+import sys
+
+import recdblist
+import guess
+def getTitle(title):
+    rT=re.compile("(.+)_(\d+)\Z")
+    tT=rT.match(title)
+    rT2=re.compile("(.+)_(.+)_(\d*)\Z")#_(aichi)_2010-02-06T01:59:00.mkv
+    tT2=rT2.match(title)
+    rT3=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+:\d+:\d+\Z")#_(aichi)_2010-02-06T01:59:00.mkv
+    tT3=rT3.match(title)
+    rT4=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+-\d+-\d+\Z")#_(aichi)_2010-02-06T01-59-00.mkv
+    tT4=rT4.match(title)
+    rT5=re.compile("(.+)_(.+)_(.+)\Z")#_(aichi)_2010-02-06T01-59-00.mkv
+    tT5=rT5.match(title)
+    ntitle=title
+    if tT :
+        ntitle=tT.group(1)
+    elif tT2:
+        ntitle=tT2.group(1)
+    elif tT3:
+        ntitle=tT3.group(1)
+    elif tT4:
+        ntitle=tT4.group(1)
+    elif tT5:
+        ntitle=tT5.group(1)
+    return ntitle
+def searchFile(temppath,recpath,ext):
+    """
+    録画一時フォルダ内ファイルを検索
+    """
+    avilist = glob.glob(temppath + "/*"+ext)
+    ret=[]
+    for avif in avilist:
+        ##b25f is title.ts.b25  avi is title.avi
+        dir = os.path.split(avif)[0]
+        title = os.path.split(avif)[1]
+        title = title.replace(ext, "")
+        avipath = os.path.join(dir, title + ext)
+        if os.path.exists(avipath):
+            dtime = time.time()-os.path.getmtime(avipath)
+            dtime = int(dtime)
+            if dtime > 300:
+                if veryfySize(avipath):
+                    ret.append(title)
+    return ret
+def getMoveDestpath(title,temppath,recpath,ext):
+    dstpath=os.path.join(recpath,title+ext)
+    srcpath=os.path.join(temppath,title+ext)
+    if os.path.exists(dstpath):
+        if not os.path.getsize(dstpath) == os.path.getsize(srcpath):
+            gmtime=time.gmtime(os.path.getmtime(srcpath))
+            iff=""
+            try:
+                iff=u"("+configreader.getConfEnv("iff")+u")_"
+                if iff==u"()_":
+                    iff = u""
+            except:
+                iff=""
+            title=title+u"_"+iff+time.strftime("%Y-%m-%dT%H-%M-%S",gmtime)
+        else:
+            recdblist.printutf8(u"同サイズのファイルが存在します")
+
+    return title
+def getDelpath(temppath,title,addfp=1):
+    delpath=[os.path.join(temppath,title+".ts")]
+    delpath.append(os.path.join(temppath,title+".avi"))
+    if addfp==1:
+        delpath.append(os.path.join(temppath,title+".mp4"))
+        delpath.append(os.path.join(temppath,title+".mkv"))
+    delpath.append(os.path.join(temppath,title+".m2v"))
+    delpath.append(os.path.join(temppath,title+".120.avi"))
+    delpath.append(os.path.join(temppath,title+".timecode.txt"))
+    delpath.append(os.path.join(temppath,title+".aac"))
+    delpath.append(os.path.join(temppath,title+".ts.b25"))
+    delpath.append(os.path.join(temppath,title+".ts.tsmix"))
+    delpath.append(os.path.join(temppath,title+".ts.log"))
+    delpath.append(os.path.join(temppath,title+".sa.avi"))
+    delpath.append(os.path.join(temppath,title+".sa.avi.log"))
+    delpath.append(os.path.join(temppath,title+".log"))
+    delpath.append(os.path.join(temppath,title+".log.zip"))
+    return delpath
+def veryfySize(path):
+    #vsize=[297,497,596,1196]#SD 30m 1h 1.5h 2h
+    vsize=[245,275,295,591,830]
+    vsize=vsize+[325,449,560,590,602,690,805,860,1014,1138,1237]
+    vsize=vsize+[261,535,540,616,740]#HD 30m 1h
+    #vsize=vsize+[381,895,447]
+    ret = 0
+    for size in vsize:
+        if os.path.getsize(path)>(size-10)*1024*1024 and os.path.getsize(path)<(size+10)*1024*1024:
+            ret=1
+    if os.path.getsize(path)>270*1024*1024:
+        ret=1
+    return ret
+def execMove(title,temppath,recpath,ext,autodel):
+    srcpath=os.path.join(temppath,title+ext)
     # patched. orig: searchFolder(title, recpath)
-    sf=guess.searchFolder(title, recpath,200)\r
-    if sf!="":\r
-        destpath=os.path.join(sf,getMoveDestpath(title, temppath, sf, ext)+ext)\r
-        if os.path.exists(destpath):\r
-            if os.path.getsize(destpath) == os.path.getsize(srcpath):\r
-                recdblist.printutf8(u"同名同サイズのファイルが存在します。")\r
-                if autodel==1:\r
-                    recdblist.printutf8(u"関連ファイルを削除します。")\r
-                    delpath=getDelpath(temppath, title)\r
-                    for dp in delpath:\r
-                        try:\r
-                            os.remove(dp)\r
-                            ""\r
-                        except:\r
-                            ""\r
-        else:\r
-            recdblist.printutf8("moving now..")\r
-            recdblist.printutf8(srcpath+" : "+destpath)\r
-            print srcpath\r
-            shutil.copy(srcpath, destpath)\r
-            #shutil.copy(srcpath, destpath)\r
-            if autodel==1:\r
-                delpath=getDelpath(temppath, title)\r
-                for dp in delpath:\r
-                    try:\r
-                        os.remove(dp)\r
-                        ""\r
-                    except:\r
+    sf=guess.searchFolder(title, recpath,200)
+    if sf!="":
+        destpath=os.path.join(sf,getMoveDestpath(title, temppath, sf, ext)+ext)
+        if os.path.exists(destpath):
+            if os.path.getsize(destpath) == os.path.getsize(srcpath):
+                recdblist.printutf8(u"同名同サイズのファイルが存在します。")
+                if autodel==1:
+                    recdblist.printutf8(u"関連ファイルを削除します。")
+                    delpath=getDelpath(temppath, title)
+                    for dp in delpath:
+                        try:
+                            os.remove(dp)
+                            ""
+                        except:
+                            ""
+        else:
+            recdblist.printutf8("moving now..")
+            recdblist.printutf8(srcpath+" : "+destpath)
+            print srcpath
+            shutil.copy(srcpath, destpath)
+            #shutil.copy(srcpath, destpath)
+            if autodel==1:
+                delpath=getDelpath(temppath, title)
+                for dp in delpath:
+                    try:
+                        os.remove(dp)
+                        ""
+                    except:
                         ""
     else:
         recdblist.printutf8("sf not fonud @ execMove",verbose_level=100)
-\r
-def execDelete(title,temppath):\r
-    delpath=getDelpath(temppath, title,0)\r
-    recdblist.printutf8(title+u" 関連の一時ファイルを削除します")\r
-    for dp in delpath:\r
-        try:\r
-            if os.path.exists(dp):\r
-                recdblist.printutf8(dp)\r
-                os.remove(dp)\r
-        except Exception, inst:\r
-            print type(inst)\r
-            print str(inst)\r
-            print traceback.print_exc(file=sys.stdout)\r
+
+def execDelete(title,temppath):
+    delpath=getDelpath(temppath, title,0)
+    recdblist.printutf8(title+u" 関連の一時ファイルを削除します")
+    for dp in delpath:
+        try:
+            if os.path.exists(dp):
+                recdblist.printutf8(dp)
+                os.remove(dp)
+        except Exception, inst:
+            print type(inst)
+            print str(inst)
+            print traceback.print_exc(file=sys.stdout)