def search(self, query=None): if query is None: keydialog = control.keyboard('', "Enter Search") keydialog.doModal() self.query = keydialog.getText() if keydialog.isConfirmed( ) else None else: self.query = query if self.query is None or self.query is '': return result = client.request( "https://www.masterani.me/api/anime/filter?search=%s&order=relevance_desc&page=1&detailed=1" % self.query.replace(" ", "%20")) try: result = json.loads(result) except: xbmcgui.Dialog().notification( "Masterani Redux", "No results for \"%s\"." % self.query) print result if len(result) is 0: return items = masterani.extract_data_from_filter_list(result) #self.worker() self.add_directory(items)
def search(self, query=None): if query is None: keydialog = control.keyboard('', "Enter Search") keydialog.doModal() self.query = keydialog.getText() if keydialog.isConfirmed() else None else: self.query = query if self.query is None or self.query is '': return result = client.request("https://www.masterani.me/api/anime/filter?search=%s&order=relevance_desc&page=1&detailed=1" % self.query) try: result = json.loads(result) result = result['data'] except: xbmcgui.Dialog().notification("Masterani Redux", "No results for \"%s\"." % self.query) print result if len(result) is 0: return items = masterani.extract_data_from_filter_list(result) #self.worker() self.add_directory(items)
def get_by_select(self, stype=0, sort=0, status=0, genre=[], offset=0): self.list = [] offset_string = "" if offset > 1: offset_string = "&page=" + str(offset) sort_string = "" if sort is '0': sort_string = "score" if sort is '1': sort_string = "score_desc" if sort is '2': sort_string = "title" if sort is '3': sort_string = "title_desc" sort_string = "order=" + sort_string try: genre = eval(genre) except: pass genre_string = "" if type(genre) is int: genre_string = "&genres=" + str(genre) if type(genre) is list: genre_string = "&genres=" + ','.join(str(x) for x in genre) try: status = eval(status) except: pass try: stype = eval(stype) except: pass if stype is None: type_string = "" else: type_string = "&type=" + str(stype) if status is None: status_string = "" else: status_string = "&status=" + str(status) url = self.filterurl + sort_string + status_string + type_string + genre_string + "&detailed=1" + offset_string print url result = client.request(url) result = json.loads(result) self.list = masterani.extract_data_from_filter_list(result) if len(self.list) is 0: xbmcgui.Dialog().ok("Masterani Redux", "No anime found.", "Try other options.") return self.last_page = result['last_page'] self.current_page = result['current_page'] self.next_page_url = url + "?page=" + str(self.current_page + 1) # if offset > self.totalitems: glist = glist[offset: self.totalitems] # else: glist = glist[offset: offset + self.itemsperpage] # # # for i in glist: self.list.append({'anime_id': i[0], 'status': i[1]}) # # self.worker() self.add_directory(self.list, stype=stype, sgenre=genre, status=status, sort=sort)
def get_by_select(self, stype=0, sort=0, status=0, genre=[], offset=0): self.list = [] offset_string = "" if offset > 1: offset_string = "&page=" + str(offset) sort_string = "score_desc" sort = str(sort) if sort is '0': sort_string = "score" if sort is '2': sort_string = "title" if sort is '3': sort_string = "title_desc" sort_string = "order="+sort_string try: genre = urllib.unquote(genre) genre = eval(genre) except: pass genre_string = "" if type(genre) is int: genre_string = "&genres=" + str(genre) if type(genre) is list: genre_string = "&genres=" + ','.join(str(x) for x in genre) try: status = eval(status) except: pass try: stype = eval(stype) except: pass if stype is None: type_string = "" else: type_string = "&type="+str(stype) if status is None: status_string = "" else: status_string = "&status="+str(status) url = self.filterurl + sort_string + status_string + type_string + genre_string + "&detailed=1" + offset_string print url result = client.request(url) result = json.loads(result) self.list = masterani.extract_data_from_filter_list(result) if len(self.list) is 0: xbmcgui.Dialog().notification("Masterani Redux", "No anime found. Try other options.") return self.last_page = result['last_page'] self.current_page = result['current_page'] self.next_page_url = url + "?page=" + str(self.current_page + 1) # if offset > self.totalitems: glist = glist[offset: self.totalitems] # else: glist = glist[offset: offset + self.itemsperpage] # # # for i in glist: self.list.append({'anime_id': i[0], 'status': i[1]}) # # self.worker() self.add_directory(self.list, stype=stype, sgenre=genre, status=status, sort=sort)