def fillSingleEPG(self, service):
t = time()
test = [ 'RIBDT', (service.ref.toString(), 0, -1, -1) ]
- self.l.setList(self.queryEPG(test))
+ self.list = self.queryEPG(test)
+ self.l.setList(self.list)
print time() - t
self.selectionChanged()
- def sort_func(self,x,y):
- if x[2] < y[2]:
- return -1
- elif x[2] == y[2]:
- return 0
- else:
- return 1
+ def sortSingleEPG(self, type):
+ if len(self.list):
+ if type == 1:
+ self.list.sort(key=lambda x: (x[4].lower(), x[2]))
+ self.l.setList(self.list)
+ self.selectionChanged()
+ else:
+ assert(type == 0)
+ self.list.sort(key=lambda x: x[2])
+ self.l.setList(self.list)
+ self.selectionChanged()
def fillSimilarList(self, refstr, event_id):
t = time()
self["key_blue"] = Button()
self.currentService=ServiceReference(service)
self.zapFunc = None
+ self.sort_type = 0
+ self.setSortDescription()
else:
self.skinName = "EPGSelectionMulti"
self.type = EPG_TYPE_MULTI
def yellowButtonPressed(self):
if self.type == EPG_TYPE_MULTI:
self["list"].updateMultiEPG(-1)
+ elif self.type == EPG_TYPE_SINGLE:
+ if self.sort_type == 0:
+ self.sort_type = 1
+ else:
+ self.sort_type = 0
+ self["list"].sortSingleEPG(self.sort_type)
+ self.setSortDescription()
+
+ def setSortDescription(self):
+ if self.sort_type == 1:
+ # TRANSLATORS: This must fit into the header button in the EPG-List
+ self["key_yellow"].setText(_("Sort Time"))
+ else:
+ # TRANSLATORS: This must fit into the header button in the EPG-List
+ self["key_yellow"].setText(_("Sort A-Z"))
def blueButtonPressed(self):
if self.type == EPG_TYPE_MULTI: