e0df49db3686ee9a852b1520173908aeab1cef46
[enigma2.git] / lib / python / Components / Sources / FrontendInfo.py
1 from Source import Source
2 from enigma import eTimer
3
4 class FrontendInfo(Source):
5         def __init__(self, service_source = None, frontend_source = None):
6                 Source.__init__(self)
7                 self.service_source = service_source
8                 self.frontend_source = frontend_source
9                 self.updateFrontendData()
10
11         def updateFrontendData(self):
12                 data = self.getFrontendData()
13                 if not data:
14                         self.slot_number = self.frontend_type = None
15                 else:
16                         self.slot_number = data.get("tuner_number")
17                         self.frontend_type = data.get("tuner_type")
18                 self.changed((self.CHANGED_ALL, ))
19
20         def getFrontendData(self):
21                 if self.frontend_source:
22                         frontend = self.frontend_source()
23                         dict = { }
24                         if frontend:
25                                 frontend.getFrontendData(dict)
26                         return dict
27                 elif self.service_source:
28                         service = self.service_source()
29                         feinfo = service and service.frontendInfo()
30                         return feinfo and feinfo.getFrontendData()
31                 else:
32                         return None