From 54e21f54cf5b36406ffcea82ee49be175b5a2fbe Mon Sep 17 00:00:00 2001 From: Bobby Date: Mon, 26 Aug 2024 17:10:49 -0400 Subject: fix mal list --- authentication/utils.py | 52 +++++++++---------------------------------------- 1 file changed, 9 insertions(+), 43 deletions(-) (limited to 'authentication') diff --git a/authentication/utils.py b/authentication/utils.py index 5dd5d78..0283f32 100644 --- a/authentication/utils.py +++ b/authentication/utils.py @@ -79,12 +79,14 @@ def get_user_mal_list(access_token, limit=10, offset=0): if not access_token or access_token == "": return [], None, None - base_url = f"https://api.myanimelist.net/v2/users/@me/animelist?limit={limit}&offset={offset}&fields=my_list_status,anime&sort=list_updated_at" + base_url = f"https://api.myanimelist.net/v2/users/@me/animelist?limit={limit}&offset={offset}&fields=my_list_status,alternative_titles,anime&sort=list_updated_at" headers = {"Authorization": f"Bearer {access_token}"} response = requests.get(base_url, headers=headers) if response.status_code == 200: data = response.json() + user_anime_list = data["data"] + if data["data"] and "paging" in data: if "next" in data["paging"]: page_next = data["paging"]["next"] @@ -95,49 +97,13 @@ def get_user_mal_list(access_token, limit=10, offset=0): page_previous = data["paging"]["previous"] else: page_previous = None - mal_ids = [anime["node"]["id"] for anime in data["data"]] - user_list = {anime["node"]["id"]: anime["node"]["my_list_status"] for anime in data["data"]} - - if not mal_ids: - return [], None, None - - query = f''' - query {{ - Page {{ - media(idMal_in: {mal_ids}) {{ - id - title {{ - romaji - english - native - }} - idMal - status - coverImage {{ - large - }} - episodes - duration - averageScore - genres - seasonYear - }} - }} - }} - ''' - response = requests.post( - "https://graphql.anilist.co", - json={"query": query}, - ) - - user_anime_list = [] - if response.status_code == 200: - data = response.json() - for anime in data["data"]["Page"]["media"]: - anime["my_list_status"] = user_list[anime["idMal"]] - user_anime_list.append(anime) + else: + page_next = None + page_previous = None else: - print(response.json(), "Error in fetching Anilist Anime Details") + user_anime_list = [] + page_next = None + page_previous = None return user_anime_list, page_previous, page_next -- cgit v1.2.3