--- /dev/null
+#!/usr/bin/python
+# coding: UTF-8
+# Rec10 TS Recording Tools
+# Copyright (C) 2009 Yukikaze
+
+__author__="yukikaze"
+__date__ ="$2009/09/14 17:38:25$"
+
+import glob
+import n_gram
+import os
+import os.path
+import time
+import optparse
+import sys
+
+import configreader
+recordedpath=configreader.getpath("recorded")
+recpath=configreader.getpath("recpath")
+def search_b25(path):
+ """
+ 録画フォルダを検索し、各QUEの実行状況を表示する
+ """
+ b25list = glob.glob(path + "/*.b25")
+ for b25f in b25list:
+ ##b25f is title.ts.b25 avi is title.avi
+ dir = os.path.split(b25f)[0]
+ title = os.path.split(b25f)[1]
+ title = title.replace(".ts.b25", "")
+ avipath = os.path.join(dir, title + ".avi")
+ tspath = os.path.join(dir, title + ".ts")
+ b25f = b25f.replace(".ts.b25", ".avi")
+ mode = "ts"
+ if os.path.isfile(tspath):##tsファイルが存在している
+ dtime = time.time()-os.path.getmtime(tspath)
+ dtime = int(dtime)
+ if dtime > 120:
+ if os.path.getsize(tspath) > 1 * 1000 * 1000:##最終更新から22分以上経過かつ1MB以上
+ mode = "avi"
+ else:
+ mode = "tsmiss"
+ else:
+ mode = "ts"
+ if os.path.isfile(avipath):##tsファイルが存在している
+ dtime = time.time()-os.path.getmtime(avipath)
+ dtime = int(dtime)
+ if dtime > 120:
+ if os.path.getsize(avipath) > 1 * 1000 * 1000:##最終更新から22分以上経過かつ1MB以上
+ mode = "fin"
+ else:
+ mode = "avimiss"
+ else:
+ mode = "avi"
+ print title + ":" + mode
+def search_avi(temppath,recpath):
+ avilist = glob.glob(temppath + "/*.avi")
+ 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(".avi", "")
+ avipath = os.path.join(dir, title + ".avi")
+ tspath = os.path.join(dir, title + ".ts")
+ b25path = os.path.join(dir, title + ".ts.b25")
+ b25logpath = os.path.join(dir, title + ".ts.b25.log")
+ sapath = os.path.join(dir, title + ".sa.avi")
+ dtime = time.time()-os.path.getmtime(avipath)
+ dtime = int(dtime)
+ #print title+str(dtime)
+ if dtime > 300:
+ if veryfySize(avipath):
+ sf=searchFolder(title,recpath)
+ if sf!="":
+ ret.append([title,sf])
+ return ret
+def veryfySize(path):
+ vsize=[297,596,458,916]
+ ret = 0
+ for size in vsize:
+ if os.path.getsize(path)>(size-5)*1024*1024 and os.path.getsize(path)<(size+5)*1024*1024:
+ ret=1
+ return ret
+def searchFolder(title,path):
+ folderpath=os.listdir(path)
+ lfpath=[]
+ ngram=[]
+ for ft in folderpath:
+ fullpath=os.path.join(path, ft)
+ if os.path.isdir(fullpath):
+ lfpath.append(fullpath)
+ ftt=os.listdir(fullpath)
+ if len(ftt)>0:
+ for ft2 in ftt:
+ folderpath.append(os.path.join(fullpath, ft2))
+ else:
+ lfpath.append(fullpath)
+ for dirp in lfpath:
+ cmpp=""
+ appp=""
+ if os.path.isdir(dirp):
+ cmpp=os.path.dirname(dirp)
+ appp=dirp
+ else:
+ cmpp=os.path.basename(dirp)
+ appp=os.path.dirname(dirp)
+ p=n_gram.trigram(title.decode("utf-8"),cmpp.decode("utf-8"))
+ if p>0:
+ ngram.append((p,appp))
+ ngram=list(set(ngram))
+ ngram.sort()
+ ngram.reverse()
+ if len(ngram)>0:
+ if ngram[0][0]>400:
+ return ngram[0][1]
+ else:
+ return ""
+ else:
+ return ""
+def execMove(title,temppath,recpath):
+ ""
+def detName(title,temppath,recpath):
+ dstpath=os.path.join(recpath,title+".avi")
+ srcpath=os.path.join(temppath,title+".avi")
+ print srcpath
+ if os.path.exists(dstpath):
+ gmtime=time.gmtime(os.path.getmtime(srcpath))
+ times=time.strftime("%y%m%d",gmtime)
+ title=title+"_"+times
+ return title
+if __name__ == "__main__":
+ usage="usage: %prog [-l Title] [-a]"
+ version="%prog 0.7.0alpha"
+ parser=optparse.OptionParser(usage=usage,version=version)
+ parser.add_option("-s","--search",action="store",type="string",dest="ltitle",default="",metavar="TITLE",help="test to search where the title should be contained.")
+ parser.add_option("-a",action="store_true",dest="auto",default=False,help="auto disposing mode")
+ parser.add_option("-l","--list",action="store_true",dest="list",default=False,help="File listing mode")
+ (opts,args)=parser.parse_args(sys.argv)
+ if opts.ltitle!="":
+ searchFolder(opts.ltitle, "/home/ftpusr/ftp4/録画終了/")
+ if opts.auto:
+ ""
+ if opts.list:
+ sa=search_avi(recpath, recordedpath)
+ for s in sa:
+ print s[0]+" : "+os.path.join(s[1], detName(s[0], recpath,s[1])+".avi")
+
\ No newline at end of file
else:
opts = opt
if dualaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
if pentaaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
except:
""
#status.setB25Decoding(status.getB25Decoding()-1)
else:
opts = opt
if dualaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
if pentaaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
def ts2avi(pin, pout, opt):
status.changeEncoding(1)
#status.setEncoding(status.getEncoding() + 1)
else:
opts = opts + "Ha2"
if dualaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
if pentaaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
ts2x264.ts2x264(aviin, pout, opts)
#os.remove(aviin)
def b252avi(pout, chtxt, opt):
else:
makexvid = 1
if dualaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
if pentaaudio == 1:
- dualaudiots2avi(aviin, tsout + "sa.avi")
- aviin = tsout + "sa.avi"
+ dualaudiots2avi(aviin, tsout + ".sa.avi")
+ aviin = tsout + ".sa.avi"
if makexvid == 1:
ts2xvid.ts2xvid(aviin, pout, opts)
else: