OSDN Git Service

fix ts2avi not updated bug.
[rec10/rec10-git.git] / rec10 / trunk / src / tv2ts.py
1 #!/usr/bin/python
2 # coding: UTF-8
3 #import sys # モジュール属性 argv を取得するため
4 import os
5 import shutil
6 import configreader
7 #import japanesenkf
8 import random
9 import base64
10 #import re
11 #import glob
12 import time
13 #japanesenkf.overrideEncodings()
14
15 mypath=str(os.path.dirname(os.path.abspath(__file__)))+"/"
16 def tv2tsmix(pout,ch,time):
17     tv2b25ts(pout+".b25",ch,time)
18     b252tsmix(pout+".b25",pout)
19     #os.remove(pout+".b25")
20     if os.access(pout, os.F_OK):
21         try:
22             os.remove(pout+".b25")
23         except:
24             ""
25 def tv2ts(pout,ch,csch,time):
26     #print "1"+pout
27     #print "2"+temp[0]
28     #print "3"+temp[1]
29     #tv2tsmix(temp[0]+"mix."+temp[1],ch,time)
30     #tsmix2ts(temp[0]+"mix."+temp[1],pout,csch)
31     #os.remove(temp[0]+"mix."+temp[1])
32     temp=pout.split(".")
33     t=base64.b16encode(pout)
34     #t=str(random.randint(10000,90000))
35     tempt=os.path.split(pout)
36     path=tempt[0]
37     tv2b25ts(pout+".b25",ch,time)
38     b252tsmix(pout+".b25",path+"/"+t+"."+temp[1])
39     tsmix2ts(path+"/"+t+"."+temp[1],pout,csch)
40     #os.remove(path+"/"+t+"."+temp[1])
41     if os.access(pout, os.F_OK):
42         try:
43             os.remove(path+"/"+t+"."+temp[1])
44         except:
45             ""
46
47 def b252ts(pout,ch,csch):
48     temp=pout.split(".")
49     t=base64.b16encode(pout)
50     #t=str(random.randint(10000,90000))
51     tempt=os.path.split(pout)
52     path=tempt[0]
53     #tv2b25ts(pout+".b25",ch,time)
54     b252tsmix(pout+".b25",path+"/"+t+"."+temp[1])
55     tsmix2ts(path+"/"+t+"."+temp[1],pout,csch)
56     #os.remove(path+"/"+t+"."+temp[1])
57     if os.access(pout, os.F_OK):
58         try:
59             os.remove(path+"/"+t+"."+temp[1])
60         except:
61             ""
62
63 def tv2b25ts(pout,ch,time):
64     exe=configreader.getpath('recpt1')
65     #print exe+' '+ch
66     doexe=exe+' '+ch+' '+time+' \''+pout+'\''
67     #print doexe
68     os.system(doexe)
69 def tv2b25ts_b25(pout,ch,time):
70     exe=configreader.getpath('recpt1')
71     #print exe+' '+ch
72     doexe=exe+' --b25 '+ch+' '+time+' \''+pout+'\''
73     #print doexe
74     os.system(doexe)
75 def b252tsmix(pin,pout):
76     #print "t1"
77     exe=configreader.getpath('b25')
78     doexe=exe.encode('utf-8')+u' \''+pin.encode('utf-8')+u'\' \''+pout.encode('utf-8')+u'\''
79     #print doexe
80     doexe="/usr/bin/nice -n 17 "+doexe
81     os.system(doexe)
82     #print "t2"
83 def tsmix2ts(pin,pout,csch):#csch=0ならcsの処理をしない
84     wine=configreader.getpath('wine')
85     exe=configreader.getpath('splitt')
86     if csch == "0":
87         time.sleep(1)
88         #mvexe="mv \'"+outpath+"\' \'"+pout+"\'"
89         #print mvexe
90         #print outpath
91         #os.rename(outpath,pout)
92         #i=0
93         shutil.move(pin.encode('utf-8'),pout.encode('utf-8'))
94     else:
95         csopt='-CS'+str(csch)+" "
96         dirname=os.path.dirname(pin)
97         filename=os.path.basename(pin)
98         fn=os.path.splitext(filename)[0]                
99         fileext=os.path.splitext(filename)[1]
100         outpath=dirname+"/"+fn+'_CS1('+str(csch)+')'+fileext
101         #print dirname+" : "+filename+" : "+fn+" : "+fileext
102         path=dirname
103         outpath=os.path.join(dirname,fn+'_CS1('+str(csch)+')'+fileext)
104         time.sleep(1)
105         #doexe=wine+u' '+exe+u' -SD -1SEG -EIT '+csopt+u'-SEPA3 -OUT '+path+'/ '+pin
106         doexe=wine+u' '+exe+u' -SD -1SEG -EIT '+csopt+' -OUT '+path.encode('utf-8')+'/ '+pin.encode('utf-8')
107         doexe='xvfb-run -a -e xvfberror.txt '+doexe
108         doexe="/usr/bin/nice -n 18 "+doexe
109         os.system(doexe)
110         time.sleep(1)
111         for i in xrange(10):
112             try:
113                 shutil.move(outpath.encode('utf-8'),pout.encode('utf-8'))
114                 break
115             except:
116                 time.sleep(1)
117         if os.access(pout, os.F_OK):
118             os.remove(pin.encode('utf-8'))
119