[AnimationSetup] changed default disabled for focus animation
[vuplus_dvbapp] / lib / python / Components / ServiceScan.py
index 78cd758..6a82ade 100644 (file)
@@ -80,12 +80,28 @@ class ServiceScan:
                                        elif tp_type == iDVBFrontend.feTerrestrial:
                                                network = _("Terrestrial")
                                                tp = transponder.getDVBT()
-                                               tp_text = ("DVB-T %s %d %s") %( { tp.Modulation_QPSK : "QPSK",
-                                                       tp.Modulation_QAM16 : "QAM16", tp.Modulation_QAM64 : "QAM64",
-                                                       tp.Modulation_Auto : "AUTO" }.get(tp.modulation, tp.Modulation_Auto),
+                                               tp_text = ("%s %s %d %s") %(
+                                                       {
+                                                               tp.System_DVB_T : "DVB-T",
+                                                               tp.System_DVB_T2 : "DVB-T2"
+                                                       }.get(tp.system, ""),
+                                                       {
+                                                               tp.Modulation_QPSK : "QPSK",
+                                                               tp.Modulation_QAM16 : "QAM16",
+                                                               tp.Modulation_QAM64 : "QAM64",
+                                                               tp.Modulation_QAM256 : "QAM256",
+                                                               tp.Modulation_Auto : "AUTO"
+                                                       }.get(tp.modulation, tp.Modulation_Auto),
                                                        tp.frequency,
-                                                       { tp.Bandwidth_8MHz : "Bw 8MHz", tp.Bandwidth_7MHz : "Bw 7MHz", tp.Bandwidth_6MHz : "Bw 6MHz",
-                                                               tp.Bandwidth_Auto : "Bw Auto" }.get(tp.bandwidth, tp.Bandwidth_Auto))
+                                                       {
+                                                               tp.Bandwidth_8MHz : "Bw 8MHz",
+                                                               tp.Bandwidth_7MHz : "Bw 7MHz",
+                                                               tp.Bandwidth_6MHz : "Bw 6MHz",
+                                                               tp.Bandwidth_Auto : "Bw Auto",
+                                                               tp.Bandwidth_5MHz : "Bw 5MHz",
+                                                               tp.Bandwidth_10MHz : "Bw 10MHz",
+                                                               tp.Bandwidth_1_712MHz : "Bw 1.712MHz"
+                                                       }.get(tp.bandwidth, tp.Bandwidth_Auto))
                                        else:
                                                print "unknown transponder type in scanStatusChanged"
                                self.network.setText(network)
@@ -103,7 +119,7 @@ class ServiceScan:
                if self.state == self.Done or self.state == self.Error:
                        if self.run != len(self.scanList) - 1:
                                self.foundServices += self.scan.getNumServices()
-                               self.execEnd()
+                               self.execEnd(False) # reset eComponentScan
                                self.run += 1
                                self.execBegin()
        
@@ -119,9 +135,11 @@ class ServiceScan:
                self.network = network
                self.run = 0
                self.lcd_summary = lcd_summary
+               self.scan = None
 
        def doRun(self):
-               self.scan = eComponentScan()
+               if self.scan is None:
+                       self.scan = eComponentScan()
                self.frontendInfo.frontend_source = lambda : self.scan.getFrontend()
                self.feid = self.scanList[self.run]["feid"]
                self.flags = self.scanList[self.run]["flags"]
@@ -150,13 +168,17 @@ class ServiceScan:
                        self.errorcode = 0
                self.scanStatusChanged()
        
-       def execEnd(self):
+       def execEnd(self, onClose = True):
+               # when closing screen, destroy eComponentScan. otherwise reset.
                self.scan.statusChanged.get().remove(self.scanStatusChanged)
                self.scan.newService.get().remove(self.newService)
                if not self.isDone():
                        print "*** warning *** scan was not finished!"
-               
-               del self.scan
+
+               if onClose:
+                       self.scan = None
+               else:
+                       self.scan.clearAll()
 
        def isDone(self):
                return self.state == self.Done or self.state == self.Error