3 from Components.Sources.Source import Source
4 from ServiceReference import ServiceReference
5 from enigma import eServiceCenter, eServiceReference
12 def __init__(self, navcore,func=NOW):
15 self.navcore = navcore
16 self.epgcache = eEPGCache.getInstance()
18 def handleCommand(self,cmd):
22 if self.func is self.TITLE:
23 func = self.searchEvent
24 elif self.func is self.SERVICE:
25 func = self.getEPGofService
29 return func(self.command)
31 def getEPGNow(self,bouqetref):
32 print "getting EPG NOW", bouqetref
33 serviceHandler = eServiceCenter.getInstance()
34 list = serviceHandler.list(eServiceReference(bouqetref))
35 services = list and list.getContent('S')
37 for service in services:
38 search.append((service,0,-1))
39 events = self.epgcache.lookupEvent(search);
45 def getEPGofService(self,cmd):
46 print "getting EPG of Service", cmd
47 events = self.epgcache.lookupEvent(['IBDTSERN',(cmd,0,-1,-1)]);
53 def searchEvent(self,cmd):
54 print "getting EPG by title",cmd
55 events = self.epgcache.search(('IBDTSERN',256,eEPGCache.PARTIAL_TITLE_SEARCH,cmd,1));
61 list = property(do_func)
62 lut = {"EventID": 0, "TimeStart": 1,"Duration": 2, "Title": 3, "Description": 4, "DescriptionExtended": 5, "ServiceReference": 6, "ServiceName": 7 }