def loadNextPageData(self, offset, resultCount, resultSize): self.mh_keyLocked = True if (self.page * self.pageSize) > resultCount: sz = resultCount - (self.page - 1) * self.pageSize else: sz = resultSize self.mh_menuListe = [(_("Please wait..."), None)] self.ml.setList(map(self.mh_menuListentry, self.mh_menuListe)) if self.request_data["type"] == "playlist": if self.page > 1: d = mvClient.requestPlaylist(self.request_data, sz, offset) d.addCallback(self.parseVideolist, pl_type=True).addErrback(self.dataError) else: return self.getVideolist(self.request_data) else: d = mvClient.requestGroupPlaylists(self.request_data, self.filterData, sz, offset) d.addCallback(self.parseGroupPlaylist, 0, []) d.addCallback(self.mh_genMenu2).addErrback(self.mh_dataError)
def parseGroupPlaylist(self, jsonData, lev, menu): metadata = jsonData.get("metadata", {}) resultId = metadata.get("resultId", 0) resultSize = metadata.get("resultSize", 0) resultCount = metadata.get("resultCount", 0) resultOffset = metadata.get("resultOffset", 0) resultType = metadata.get("resultType", "") if resultCount == 0: msg = jsonData.get("returnMessageScreen", None) if msg: self.session.open(MessageBoxExt, str(msg[0]), type=MessageBoxExt.TYPE_INFO) return [] type = jsonData["type"] for entry in jsonData.get("resultList", {}): menudata = {} menudata["id"] = entry["id"] menudata["playListID"] = entry.get("playListID", 0) menudata["movieCount"] = entry.get("movieCount", 0) menudata["image"] = str(entry["preview"]) menudata["type"] = str(type) menudata["length"] = entry.get("length", "") menudata["rate"] = entry.get("rate", "") title = entry["title"] if type not in ("group_playlists", "playlist", "videolist"): continue menu.append((lev, (menudata, ""), str(title))) if (resultOffset + resultSize) < resultCount and self.listAll: d = mvClient.requestGroupPlaylists( self.request_data, self.filterData, resultSize, resultOffset + resultSize ) d.addCallback(self.parseGroupPlaylist, lev, menu).addErrback(self.dataError) return d else: self.metadata.update(metadata) self.getLastPage() return menu
def getSeries(self, request_data): d = mvClient.requestGroupPlaylists(request_data, sz=self.maxSize) d.addCallback(self.parseGroupPlaylist, 0, []) d.addCallback(self.mh_genMenu2).addErrback(self.mh_dataError)
def getGroups(self, request_data, filter_data={}): d = mvClient.requestGroupPlaylists(request_data, filter_data).addCallback(self.parseGroupPlaylist, 0, []) d.addCallback(self.mh_genMenu2).addErrback(self.mh_dataError)