diff options
| author | Bobby <[email protected]> | 2024-08-26 17:10:49 -0400 |
|---|---|---|
| committer | Bobby <[email protected]> | 2024-08-26 17:10:49 -0400 |
| commit | 54e21f54cf5b36406ffcea82ee49be175b5a2fbe (patch) | |
| tree | 04ee2e17d97db6aebf5c579a4f22b762280782ac /authentication/utils.py | |
| parent | f8a7ac6355f470ae17eb87679c67aa024840f07c (diff) | |
| download | yugen-54e21f54cf5b36406ffcea82ee49be175b5a2fbe.tar.xz yugen-54e21f54cf5b36406ffcea82ee49be175b5a2fbe.zip | |
fix mal list
Diffstat (limited to 'authentication/utils.py')
| -rw-r--r-- | authentication/utils.py | 52 |
1 files changed, 9 insertions, 43 deletions
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 |
