def get_user_data(self, user: str) -> UserInfo:
"""
:param user: username who's information we're getting
:return type list:
"""
# List that stores all the UserInfo Objects to return
with aiohttp.ClientSession(auth=self._auth, headers={"User-Agent": self.user_agent}) as session:
async with session.get(MAL_APP_INFO, params={"u": user}) as response:
# Raise an error if we get the wrong response code
if response.status != 200:
raise ResponseError(response.status)
response_data = await response.read()
# We want the [0] index as myanimelist always returns the user data first
user_info = etree.fromstring(response_data)[0]
# Add to list containing UserInfo objects
return UserInfo(
id=user_info.find("user_id").text,
username=user_info.find("user_name").text,
watching=user_info.find("user_watching").text,
completed=user_info.find("user_completed").text,
on_hold=user_info.find("user_onhold").text,
dropped=user_info.find("user_dropped").text,
plan_to_watch=user_info.find("user_plantowatch").text,
days_spent_watching=user_info.find("user_days_spent_watching").text
)
评论列表
文章目录