3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009-2010 Yukikaze
16 rT=re.compile("(.+)_(\d+)\Z")
18 rT2=re.compile("(.+)_(.+)_(\d*)\Z")#_(aichi)_2010-02-06T01:59:00.mkv
20 rT3=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+:\d+:\d+\Z")#_(aichi)_2010-02-06T01:59:00.mkv
22 rT4=re.compile("(.+)_(.+)_\d+-\d+-\d+T\d+-\d+-\d+\Z")#_(aichi)_2010-02-06T01-59-00.mkv
24 rT5=re.compile("(.+)_(.+)_(.+)\Z")#_(aichi)_2010-02-06T01-59-00.mkv
38 def search_file(temppath,recpath,ext):
42 avilist = glob.glob(temppath + "/*"+ext)
45 ##b25f is title.ts.b25 avi is title.avi
46 dir = os.path.split(avif)[0]
47 title = os.path.split(avif)[1]
48 title = title.replace(ext, "")
49 avipath = os.path.join(dir, title + ext)
50 if os.path.exists(avipath):
51 dtime = time.time()-os.path.getmtime(avipath)
54 if veryfySize(avipath):
57 def get_move_dest_path(title,temppath,recpath,ext):
58 dstpath=os.path.join(recpath,title+ext)
59 srcpath=os.path.join(temppath,title+ext)
60 if os.path.exists(dstpath):
61 if not os.path.getsize(dstpath) == os.path.getsize(srcpath):
62 gmtime=time.gmtime(os.path.getmtime(srcpath))
65 iff=u"("+configreader.getenv("iff")+u")_"
70 title=title+u"_"+iff+time.strftime("%Y-%m-%dT%H-%M-%S",gmtime)
72 recdblist.printutf8(u"同サイズのファイルが存在します")
75 def get_delpath(temppath,title,addfp=1):
76 delpath=[os.path.join(temppath,title+".ts")]
77 delpath.append(os.path.join(temppath,title+".avi"))
79 delpath.append(os.path.join(temppath,title+".mp4"))
80 delpath.append(os.path.join(temppath,title+".mkv"))
81 delpath.append(os.path.join(temppath,title+".m2v"))
82 delpath.append(os.path.join(temppath,title+".120.avi"))
83 delpath.append(os.path.join(temppath,title+".timecode.txt"))
84 delpath.append(os.path.join(temppath,title+".aac"))
85 delpath.append(os.path.join(temppath,title+".ts.b25"))
86 delpath.append(os.path.join(temppath,title+".ts.tsmix"))
87 delpath.append(os.path.join(temppath,title+".ts.log"))
88 delpath.append(os.path.join(temppath,title+".sa.avi"))
89 delpath.append(os.path.join(temppath,title+".sa.avi.log"))
90 delpath.append(os.path.join(temppath,title+".log"))
93 #vsize=[297,497,596,1196]#SD 30m 1h 1.5h 2h
94 vsize=[245,275,295,591,830]
95 vsize=vsize+[325,449,560,590,602,690,805,860,1014,1138,1237]
96 vsize=vsize+[261,535,540,616,740]#HD 30m 1h
97 #vsize=vsize+[381,895,447]
100 if os.path.getsize(path)>(size-10)*1024*1024 and os.path.getsize(path)<(size+10)*1024*1024:
102 if os.path.getsize(path)>270*1024*1024:
105 def execMove(title,temppath,recpath,ext,autodel):
106 srcpath=os.path.join(temppath,title+ext)
107 sf=guess.searchFolder(title, recpath)
109 destpath=os.path.join(sf,get_move_dest_path(title, temppath, sf, ext)+ext)
110 if os.path.exists(destpath):
111 if os.path.getsize(destpath) == os.path.getsize(srcpath):
112 recdblist.printutf8(u"同名同サイズのファイルが存在します。")
114 recdblist.printutf8(u"関連ファイルを削除します。")
115 delpath=get_delpath(temppath, title)
123 recdblist.printutf8("moving now..")
124 recdblist.printutf8(srcpath+" : "+destpath)
126 shutil.copy(srcpath, destpath)
127 #shutil.copy(srcpath, destpath)
129 delpath=get_delpath(temppath, title)
136 def execDelete(title,temppath):
137 delpath=get_delpath(temppath, title,0)
138 recdblist.printutf8(title+u" 関連の一時ファイルを削除します")
141 if os.path.exists(path):
142 recdblist.printutf8(dp)
144 except Exception, inst: