OSDN Git Service

make DVB driver usable.
[rec10/rec10-git.git] / rec10 / trunk / src / scan_ch.py
index 377c19b..7130452 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 # coding: UTF-8
 # Rec10 TS Recording Tools
-# Copyright (C) 2009-2011 Yukikaze
+# Copyright (C) 2009-2012 Yukikaze
 import os
 import os.path
 import time
@@ -19,62 +19,68 @@ if not os.path.exists(tmppath):
     os.mkdir(tmppath)
 tssplitterp =configreader.getConfPath("java")+" -jar "+configreader.getConfPath("jTsSplitter")
 def searchCh():
-    rec10d.rec10db.change_installed_in_status(2)
-    #地上デジタル
-    for i in xrange(13,52):#62
-        recdblist.printuft8ex(u"チャンネルスキャン:地上デジタル CH "+str(i), 200, 200)
-        if checkTs(str(i))>0:
-            addCh(str(i),u"te"+str(i),str(i))
-    time.sleep(1)
-    #BSデジタル
-    recdblist.printuft8ex(u"チャンネルスキャン:BSデジタル ", 200, 200)
-    for i in xrange(100,299):#240
-        recdblist.printuft8ex(u"チャンネルスキャン:BSデジタル CH "+str(i), 200, 200)
-        if checkTs(str(i))>0:
-            addCh(str(i),u"bs","BS")
-    time.sleep(1)
-    #スカパーe2!
-    #http://www5e.biglobe.ne.jp/~kazu_f/digital-sat/trapon-nsat110.html
-    #
-    #CS1ネットワーク
-    if checkTs("CS2")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS2 ", 200, 200)
-        addCh("CS2","cs1","CS")
-    if checkTs("CS8")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS8", 200, 200)
-        addCh("CS8","cs1","CS")
-    if checkTs("CS10")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS10", 200, 200)
-        addCh("CS10","cs1","CS")
-    #CS2ネットワーク
-    if checkTs("CS4")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS4", 200, 200)
-        addCh("CS4","cs2","CS")
-    if checkTs("CS6")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS6", 200, 200)
-        addCh("CS6","cs2","CS")
-    if checkTs("CS12")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS12", 200, 200)
-        addCh("CS12","cs2","CS")
-    if checkTs("CS14")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS14", 200, 200)
-        addCh("CS14","cs2","CS")
-    if checkTs("CS16")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS16", 200, 200)
-        addCh("CS16","cs2","CS")
-    if checkTs("CS18")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS18", 200, 200)
-        addCh("CS18","cs2","CS")
-    if checkTs("CS20")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS20", 200, 200)
-        addCh("CS20","cs2","CS")
-    if checkTs("CS22")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS22", 200, 200)
-        addCh("CS22","cs2","CS")
-    if checkTs("CS24")>0:
-        recdblist.printuft8ex(u"チャンネルスキャン:CSSデジタル CH:CS24", 200, 200)
-        addCh("CS24","cs2","CS")
-    rec10d.rec10db.change_installed_in_status(100)
+    if rec10d.rec10db.select_installed_in_status()<2:
+        rec10d.rec10db.change_installed_in_status(2)
+        #地上デジタル
+        for i in xrange(13,52):#62
+            recdblist.printutf8ex(u"チャンネルスキャン:地上デジタル CH "+str(i), 200, 200)
+            if checkTs(str(i))>0:
+                addCh(str(i),u"te"+str(i),str(i))
+        time.sleep(1)
+        #BSデジタル
+        recdblist.printutf8ex(u"チャンネルスキャン:BSデジタル ", 200, 200)
+        for i in xrange(100,299):#240
+            recdblist.printutf8ex(u"チャンネルスキャン:BSデジタル CH "+str(i), 200, 200)
+            if checkTs(str(i))>0:
+                addCh(str(i),u"bs","BS")
+        for i2 in xrange(0,11):
+            chi=u"BS"+str(2*i2+1)
+            recdblist.printutf8ex(u"チャンネルスキャン:BSデジタル CH "+chi, 200, 200)
+            if chechTs(chi)>0:
+                addCh(str(chi),u"bs","BS")
+        time.sleep(1)
+        #スカパーe2!
+        #http://www5e.biglobe.ne.jp/~kazu_f/digital-sat/trapon-nsat110.html
+        #
+        #CS1ネットワーク
+        if checkTs("CS2")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS2 ", 200, 200)
+            addCh("CS2","cs1","CS")
+        if checkTs("CS8")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS8", 200, 200)
+            addCh("CS8","cs1","CS")
+        if checkTs("CS10")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS10", 200, 200)
+            addCh("CS10","cs1","CS")
+        #CS2ネットワーク
+        if checkTs("CS4")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS4", 200, 200)
+            addCh("CS4","cs2","CS")
+        if checkTs("CS6")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS6", 200, 200)
+            addCh("CS6","cs2","CS")
+        if checkTs("CS12")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS12", 200, 200)
+            addCh("CS12","cs2","CS")
+        if checkTs("CS14")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS14", 200, 200)
+            addCh("CS14","cs2","CS")
+        if checkTs("CS16")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS16", 200, 200)
+            addCh("CS16","cs2","CS")
+        if checkTs("CS18")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS18", 200, 200)
+            addCh("CS18","cs2","CS")
+        if checkTs("CS20")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS20", 200, 200)
+            addCh("CS20","cs2","CS")
+        if checkTs("CS22")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS22", 200, 200)
+            addCh("CS22","cs2","CS")
+        if checkTs("CS24")>0:
+            recdblist.printutf8ex(u"チャンネルスキャン:CSSデジタル CH:CS24", 200, 200)
+            addCh("CS24","cs2","CS")
+        rec10d.rec10db.change_installed_in_status(100)
 def checkTs(ch):
     tv2ts.tv2b25ts(os.path.join(tmppath,"ch_"+str(ch)+".ts"), ch, "1")
     if os.path.exists(os.path.join(tmppath,"ch_"+str(ch)+".ts")):
@@ -87,13 +93,14 @@ def addCh(ch,bctype,chtxthead):
     for lstr in prglist[0]:
         #print [bctype,chtxthead+"_"+lstr, ch, lstr]
         try:
-            if ch.find("bs")>-1:
-                if int(lstr)<300:
+            if int(lstr)<10000:
+                if ch.find("bs")>-1:
+                    if int(lstr)<300:
+                        tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
+                        rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
+                else:
                     tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
                     rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
-            else:
-                tnow=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
-                rec10d.rec10db.add_epg_ch(bctype,chtxthead+"_"+lstr, ch, lstr, u"2010-01-01 00:00:00", u"2010-01-01 00:00:00",tnow)
         except Exception, inst:
             recdblist.addCommonlogEX("Warning", "addCh (scan_ch.py)", str(type(inst)),str(inst)+traceback.format_exc(),log_level=200)
     checkB25Purchased(ch, prglist[1])
@@ -107,7 +114,7 @@ def getTsProgNum(ch,tspath):
     pin=tspath
     pout=os.path.join(tmppath,"chscan.txt")
     chopt="-ch"
-    if ch.find("CS")>-1:
+    if ch.find("CS")>-1 or ch.find("BS"):
         chopt="-cs"
     elif int(ch)>99:
         chopt="-bs"