def sortSingleEPG(self, type):
if len(self.list):
if type == 1:
+ event_id = self.getSelectedEventId()
self.list.sort(key=lambda x: (x[4].lower(), x[2]))
self.l.setList(self.list)
- self.selectionChanged()
+ self.moveToEventId(event_id)
else:
assert(type == 0)
+ event_id = self.getSelectedEventId()
self.list.sort(key=lambda x: x[2])
self.l.setList(self.list)
- self.selectionChanged()
+ self.moveToEventId(event_id)
+
+ def getSelectedEventId(self):
+ x = self.l.getCurrentSelection()
+ return x and x[1]
+
+ def moveToEventId(self, eventId):
+ index = 0
+ for x in self.list:
+ if x[1] == eventId:
+ self.instance.moveSelectionTo(index)
+ break
+ index += 1
def fillSimilarList(self, refstr, event_id):
t = time()
return
l = self.epgcache.search(('RIBND', 1024, eEPGCache.SIMILAR_BROADCASTINGS_SEARCH, refstr, event_id))
if l and len(l):
- l.sort(self.sort_func)
+ l.sort(key=lambda x: x[2])
self.l.setList(l)
self.selectionChanged()
print time() - t