3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009-2011 Yukikaze
16 tmppath = configreader.getConfPath("tmp")+"/"
17 tssplitterp = configreader.getConfPath("tssplitter")
20 for i in xrange(13,62):#62
21 recdblist.printuft8ex(u"チャンネルスキャン:地上デジタル CH "+str(i), 200, 200)
23 addCh(str(i),u"te"+str(i),str(i))
26 recdblist.printuft8ex(u"チャンネルスキャン:BSデジタル ", 200, 200)
27 for i in xrange(100,240):#240
28 recdblist.printuft8ex(u"チャンネルスキャン:BSデジタル CH "+str(i), 200, 200)
30 addCh(str(i),u"bs","BS")
33 #http://www5e.biglobe.ne.jp/~kazu_f/digital-sat/trapon-nsat110.html
37 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS2 ", 200, 200)
38 addCh("CS2","cs1","CS")
40 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS8", 200, 200)
41 addCh("CS8","cs1","CS")
43 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS10", 200, 200)
44 addCh("CS10","cs1","CS")
47 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS4", 200, 200)
48 addCh("CS4","cs2","CS")
50 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS6", 200, 200)
51 addCh("CS6","cs2","CS")
53 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS12", 200, 200)
54 addCh("CS12","cs2","CS")
56 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS14", 200, 200)
57 addCh("CS14","cs2","CS")
59 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS16", 200, 200)
60 addCh("CS16","cs2","CS")
62 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS18", 200, 200)
63 addCh("CS18","cs2","CS")
65 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS20", 200, 200)
66 addCh("CS20","cs2","CS")
68 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS22", 200, 200)
69 addCh("CS22","cs2","CS")
71 recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS24", 200, 200)
72 addCh("CS24","cs2","CS")
74 tv2ts.tv2b25ts(os.path.join(tmppath,"ch_"+str(ch)+".ts"), ch, "1")
75 if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts")):
76 os.remove(os.path.join(tmppath,"ch_"+str(ch)+".ts"))
80 def addCh(ch,bctype,chtxthead):
81 prglist=getChProgNum(ch)##[prglist,logt]
82 for lstr in prglist[0]:
83 #print [bctype,chtxthead+"_"+lstr, ch, lstr]
87 rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00")
89 rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00")
90 except Exception, inst:
91 recdblist.addCommonlogEX("Warning", "addCh (scan_ch.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
92 checkB25Purchased(ch, prglist[1])
94 pout=os.path.join(tmppath,"ch_"+str(ch)+".ts")
95 logt=tv2ts.tv2tsmix(pout, ch, "10")
96 retl=getTsProgNum(ch,pout)
99 def getTsProgNum(ch,tspath):
101 pout=os.path.join(tmppath,"chscan.txt")
107 doexe = tssplitterp + " "+chopt+" \""+ pin + "\" \""+ pout + "\""
108 doexe = "nice -n 18 " + doexe
109 os.environ['LANG']="ja_JP.UTF-8"
110 txt = unicode(commands.getoutput(doexe.encode('utf-8')),'utf-8','ignore')
119 ret.append(str(int(l)))
122 recdblist.addLog(pin, doexe, u"TsSplitログ-コマンド")
123 recdblist.addLog(pin, txt, u"TsSplitログ-詳細")
131 def getB25UnparchasedList(logtxt):
134 for strt in logtxt.splitlines():
135 if strt.find("unpurchased ECM")>-1:
137 if strt.find("total TS packet")>-1 and warning>0:
139 if strt.find("channel")>-1 and warning>0:
140 txt=strt.replace("channel:","")
141 txt=txt.replace("\n","")
142 txt=txt.replace(" ","")
145 def checkB25Purchased(ch,logtxt):
146 chlists=chdb.searchAllCHFromCh(ch)
147 upl=getB25UnparchasedList(logtxt)
148 if len(upl)>0 and len(chlists)>0:
150 if chl['csch'] in upl:
151 chdb.changeCHShow(chl['chtxt'],"0")