def getPlanned(self): data_items = [] mal_anime = [] kitsu_ids = [] sort_status = tools.getSetting('planned.sort') sort = tools.account_sort['mal'][sort_status] % '6' resp = requests.get(self.site + '/animelist/%s?%s' % (self.username, sort)) soup = BeautifulSoup(resp.content, 'html.parser') items = soup.find_all('table', attrs={'class': 'list-table'}) for a in items: data_items = str(a.get('data-items')) data_items = data_items.replace('"', '"') data_items = json.loads(data_items) for a in data_items: mal_anime.append(a['anime_id']) kitsu_ids = Mappings().get_list('mal', mal_anime, 'kitsu') anime_list = kitsu_api.KitsuBrowser().getListById(kitsu_ids) anime_list = tools.sort_anime_by_id(anime_list, kitsu_ids) tools.log(anime_list, 'error') #Should print list of anime if '-' in sort_status: anime_list = sorted(anime_list, reverse=True) return anime_list
def getHold(self): anilist_items = [] kitsu_ids = [] status = 'PAUSED' sort_status = tools.getSetting('hold.sort') sort = tools.account_sort['anilist'][sort_status] query = ''' query ($userId: Int, $userName: String, $status: MediaListStatus, $type: MediaType, $sort: [MediaListSort]) { MediaListCollection(userId: $userId, userName: $userName, status: $status, type: $type, sort: $sort) { lists { entries { ...mediaListEntry } } } } fragment mediaListEntry on MediaList { id mediaId status progress customLists media { id title { userPreferred } coverImage { extraLarge } status episodes } } ''' variables = { 'userId': int(self.user_id), 'username': self.username, 'status': status, 'type': 'ANIME', 'sort': [sort] } resp = requests.post(self.site, json={ 'query': query, 'variables': variables }) results = json.loads(resp.content) if results.has_key('errors'): return try: entries = results['data']['MediaListCollection']['lists'][0][ 'entries'] except: entries = [] for a in entries: anilist_items.append(a['media']['id']) kitsu_ids = Mappings.get_list('anilist', anilist_items, 'kitsu') anime_list = kitsu_api.KitsuBrowser().getListById(kitsu_ids) tools.log(anime_list, 'error') #Should print list of anime anime_list = tools.sort_anime_by_id(anime_list, kitsu_ids) tools.log(anime_list, 'error') #Should print list of anime if '-' in sort_status: anime_list = sorted(anime_list, reverse=True) return anime_list