- fix some inefficiencies,
[vuplus_dvbapp-plugin] / webinterface / src / WebComponents / Sources / ServiceListReload.py
1 from enigma import eDVBDB
2 from Components.Sources.Source import Source
3
4 class ServiceListReload(Source):
5         BOTH = 0
6         LAMEDB = 1
7         USERBOUQUETS = 2
8
9         def __init__(self, session):
10                 Source.__init__(self)
11                 self.session = session
12                 self.eDVBDB = eDVBDB.getInstance()
13                 self.res = False
14
15         def handleCommand(self, cmd):
16                 try:
17                         self.cmd = int(cmd)
18                         if self.cmd is self.BOTH:
19                                 self.reloadLameDB()
20                                 self.reloadUserBouquets()
21                                 self.res = ( True, 'reloaded both' )
22                         elif self.cmd is self.LAMEDB:
23                                 self.res = self.reloadLameDB()
24                                 self.res = ( True, 'reloaded lamedb' )
25                         elif self.cmd is self.USERBOUQUETS:
26                                 self.res = self.reloadUserBouquets()
27                                 self.res = ( True, 'reloaded bouquets' )
28                 except Exception, e:
29                         pass
30
31         def reloadLameDB(self):
32                 print "[ServiceListReload] reloading lamedb"
33                 self.eDVBDB.reloadServicelist()
34
35         def reloadUserBouquets(self):
36                 print "[ServiceListReload] reloading userbouquets"
37                 self.eDVBDB.reloadBouquets()
38
39         def getResult(self):
40                 if self.res:
41                         return self.res
42                 else:
43                         return ( False, "missing or wrong parameter mode [%i=both, %i=lamedb only, %i=userbouqets only]" % (self.BOTH, self.LAMEDB, self.USERBOUQUETS) )
44
45         result = property(getResult)