Fix default recording path and usb recording.
[vuplus_dvbapp] / lib / python / Screens / ServiceScan.py
1 from Screen import Screen
2 from Components.ServiceScan import ServiceScan as CScan
3 from Components.ProgressBar import ProgressBar
4 from Components.Label import Label
5 from Components.ActionMap import ActionMap
6 from Components.FIFOList import FIFOList
7 from Components.Sources.FrontendInfo import FrontendInfo
8 from Components.PluginComponent import plugins
9 from Plugins.Plugin import PluginDescriptor
10
11 class ServiceScanSummary(Screen):
12         skin = """
13         <screen position="0,0" size="132,64">
14                 <widget name="Title" position="6,4" size="120,42" font="Regular;16" transparent="1" />
15                 <widget name="scan_progress" position="6,50" zPosition="1" borderWidth="1" size="56,12" backgroundColor="dark" />
16                 <widget name="Service" position="6,22" size="120,26" font="Regular;12" transparent="1" />
17         </screen>"""
18         
19         def __init__(self, session, parent, showStepSlider = True):
20                 Screen.__init__(self, session, parent)
21                 
22                 self["Title"] = Label(parent.title or "ServiceScan")
23                 self["Service"] = Label("No Service")
24                 self["scan_progress"] = ProgressBar()
25                 
26         def updateProgress(self, value):
27                 self["scan_progress"].setValue(value)
28
29         def updateService(self, name):
30                 self["Service"].setText(name)
31
32 class ServiceScan(Screen):
33         
34         def ok(self):
35                 print "ok"
36                 if self["scan"].isDone():
37                         self.close()
38         
39         def cancel(self):
40                 self.close()
41                 
42         def __init__(self, session, scanList):
43                 Screen.__init__(self, session)
44                 
45                 self.scanList = scanList
46                 
47                 self.session.nav.stopService()
48                 
49                 self["scan_progress"] = ProgressBar()
50                 self["scan_state"] = Label(_("scan state"))
51                 self["network"] = Label()
52                 self["transponder"] = Label()
53
54                 self["pass"] = Label("")
55                 self["servicelist"] = FIFOList(len=10)
56                 self["FrontendInfo"] = FrontendInfo()
57                 
58                 self["actions"] = ActionMap(["OkCancelActions"], 
59                         {
60                                 "ok": self.ok,
61                                 "cancel": self.cancel
62                         })
63
64                 self.onFirstExecBegin.append(self.doServiceScan)
65
66         def doServiceScan(self):
67                 self["scan"] = CScan(self["scan_progress"], self["scan_state"], self["servicelist"], self["pass"], self.scanList, self["network"], self["transponder"], self["FrontendInfo"], self.session.summary)
68
69         def createSummary(self):
70                 print "ServiceScanCreateSummary"
71                 return ServiceScanSummary