aboutsummaryrefslogtreecommitdiff
path: root/authentication
diff options
context:
space:
mode:
authorBobby <[email protected]>2024-08-26 17:10:49 -0400
committerBobby <[email protected]>2024-08-26 17:10:49 -0400
commit54e21f54cf5b36406ffcea82ee49be175b5a2fbe (patch)
tree04ee2e17d97db6aebf5c579a4f22b762280782ac /authentication
parentf8a7ac6355f470ae17eb87679c67aa024840f07c (diff)
downloadyugen-54e21f54cf5b36406ffcea82ee49be175b5a2fbe.tar.xz
yugen-54e21f54cf5b36406ffcea82ee49be175b5a2fbe.zip
fix mal list
Diffstat (limited to 'authentication')
-rw-r--r--authentication/utils.py52
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