Skip to content

Commit

Permalink
refactor: rollback type hints to py 3.8
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrielFR committed Dec 29, 2024
1 parent af54ea4 commit 43f4a90
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 49 deletions.
32 changes: 16 additions & 16 deletions anilist/async_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: MIT

from typing import List, Optional, Union
from typing import List, Optional, Union, Tuple

import httpx

Expand Down Expand Up @@ -71,7 +71,7 @@ async def search(
pagination: bool = False,
) -> Optional[
Union[
tuple[Union[Anime, Manga, Character, Staff, User], PageInfo],
Tuple[Union[Anime, Manga, Character, Staff, User], PageInfo],
Union[Anime, Manga, Character, Staff, User]]
]:
"""Used to search specified content type with the given query.
Expand Down Expand Up @@ -135,7 +135,7 @@ async def get(
page: int = 1,
limit: int = 25,
pagination: bool = False,
) -> Optional[tuple[Union[Anime, Manga, Character, Staff, List[MediaList], User], PageInfo]]:
) -> Optional[Tuple[Union[Anime, Manga, Character, Staff, List[MediaList], User], PageInfo]]:
"""Gets specified item from given id.
Args:
Expand Down Expand Up @@ -172,7 +172,7 @@ async def get(
user = await self.get_user(name=id)
id = user.id
except Exception:
raise TypeError(f"user not found")
raise TypeError("user not found")
else:
raise TypeError(
f"id argument must be a string, not '{id.__class__.__name__}'"
Expand Down Expand Up @@ -207,7 +207,7 @@ async def get(
@staticmethod
async def search_anime(
query: str, limit: int, page: int = 1
) -> Optional[tuple[list[Anime], PageInfo]]:
) -> Optional[Tuple[List[Anime], PageInfo]]:
response = await api_query(ANIME_SEARCH_QUERY,
dict(search=query, page=page, per_page=limit, MediaType="ANIME"))
data: Optional[dict] = response.json()
Expand All @@ -216,7 +216,7 @@ async def search_anime(
@staticmethod
async def search_manga(
query: str, limit: int, page: int = 1
) -> Optional[tuple[list[Manga], PageInfo]]:
) -> Optional[Tuple[List[Manga], PageInfo]]:
response = await api_query(MANGA_SEARCH_QUERY,
dict(search=query, page=page, per_page=limit, MediaType="MANGA"))
data: dict = response.json()
Expand All @@ -225,23 +225,23 @@ async def search_manga(
@staticmethod
async def search_character(
query: str, limit: int, page: int = 1
) -> Optional[tuple[list[Character], PageInfo]]:
) -> Optional[Tuple[List[Character], PageInfo]]:
response = await api_query(CHARACTER_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_character(data)

@staticmethod
async def search_staff(
query: str, limit: int, page: int = 1
) -> Optional[tuple[list[Staff], PageInfo]]:
) -> Optional[Tuple[List[Staff], PageInfo]]:
response = await api_query(STAFF_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_staff(data)

@staticmethod
async def search_user(
query: str, limit: int, page: int = 1
) -> Optional[tuple[list[User], PageInfo]]:
) -> Optional[Tuple[List[User], PageInfo]]:
response = await api_query(USER_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_user(data)
Expand Down Expand Up @@ -279,7 +279,7 @@ async def get_user(name: str) -> Optional[User]:
@staticmethod
async def get_list(
user_id: int, limit: int, page: int = 1, content_type: str = "anime"
) -> Optional[tuple[List[MediaList], List[MediaList]]]:
) -> Optional[Tuple[List[MediaList], List[MediaList]]]:
is_manga = "manga" in content_type
response = await api_query(LIST_GET_QUERY_ANIME if not is_manga else LIST_GET_QUERY_MANGA,
dict(user_id=user_id, page=page, per_page=limit))
Expand Down Expand Up @@ -308,7 +308,7 @@ async def get_activity(
page: int = 1,
limit: int = 25,
pagination: bool = False,
) -> Union[Optional[tuple[ListActivity, PageInfo]], Optional[ListActivity]]:
) -> Union[Optional[Tuple[ListActivity, PageInfo]], Optional[ListActivity]]:
"""Returns activity of a user.
Args:
Expand Down Expand Up @@ -370,15 +370,15 @@ async def get_activity(
@staticmethod
async def get_anime_activity(
user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[ListActivity], PageInfo]]:
) -> Optional[Tuple[List[ListActivity], PageInfo]]:
response = await api_query(LIST_ACTIVITY_QUERY,
dict(user_id=user_id, page=page, per_page=limit, activity_type="ANIME_LIST"))
data = response.json()
return process_get_anime_activity(data)

@staticmethod
async def get_manga_activity(user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[ListActivity], PageInfo]]:
) -> Optional[Tuple[List[ListActivity], PageInfo]]:
MANGA_ACTIVITY_QUERY = LIST_ACTIVITY_QUERY.replace("episodes", "chapters\nvolumes")
response = await api_query(MANGA_ACTIVITY_QUERY,
dict(user_id=user_id, page=page, per_page=limit, activity_type="MANGA_LIST"))
Expand All @@ -387,21 +387,21 @@ async def get_manga_activity(user_id: int, limit: int, page: int = 1

@staticmethod
async def get_text_activity(user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = await api_query(TEXT_ACTIVITY_QUERY, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_text_activity(data)

@staticmethod
async def get_message_activity(user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = await api_query(MESSAGE_ACTIVITY_QUERY, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_message_activity(data)

@staticmethod
async def get_message_activity_sent(user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = await api_query(MESSAGE_ACTIVITY_QUERY_SENT, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_message_activity_sent(data)
25 changes: 12 additions & 13 deletions anilist/client_process.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional
from typing import Optional, List, Tuple

from .types import (
Anime,
Expand Down Expand Up @@ -163,7 +163,7 @@ def construct_studio_object(media: dict) -> Studio:
)


def process_search_anime(data: Optional[dict]) -> Optional[tuple[list[Anime], PageInfo]]:
def process_search_anime(data: Optional[dict]) -> Optional[Tuple[List[Anime], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["media"]
Expand All @@ -184,7 +184,7 @@ def process_search_anime(data: Optional[dict]) -> Optional[tuple[list[Anime], Pa
return None


def process_search_manga(data: Optional[dict]) -> Optional[tuple[list[Manga], PageInfo]]:
def process_search_manga(data: Optional[dict]) -> Optional[Tuple[List[Manga], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["media"]
Expand All @@ -205,7 +205,7 @@ def process_search_manga(data: Optional[dict]) -> Optional[tuple[list[Manga], Pa
return None


def process_search_character(data: dict) -> Optional[tuple[list[Character], PageInfo]]:
def process_search_character(data: dict) -> Optional[Tuple[List[Character], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["characters"]
Expand All @@ -225,7 +225,7 @@ def process_search_character(data: dict) -> Optional[tuple[list[Character], Page
return None


def process_search_staff(data) -> Optional[tuple[list[Staff], PageInfo]]:
def process_search_staff(data) -> Optional[Tuple[List[Staff], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["staff"]
Expand All @@ -243,7 +243,7 @@ def process_search_staff(data) -> Optional[tuple[list[Staff], PageInfo]]:
return None


def process_search_user(data) -> Optional[tuple[list[User], PageInfo]]:
def process_search_user(data) -> Optional[Tuple[List[User], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["users"]
Expand All @@ -265,7 +265,6 @@ def process_search_user(data) -> Optional[tuple[list[User], PageInfo]]:


def process_get_anime(data) -> Optional[Anime]:
print(data)
if data["data"]:
try:
item = data["data"]["Page"]["media"][0]
Expand Down Expand Up @@ -472,7 +471,7 @@ def process_get_user(data) -> Optional[User]:
return None


def process_get_list(data: dict, content_type: str) -> Optional[tuple[list[MediaList], PageInfo]]:
def process_get_list(data: dict, content_type: str) -> Optional[Tuple[List[MediaList], PageInfo]]:
is_manga = "manga" in content_type
res = []
if data["data"]:
Expand Down Expand Up @@ -557,7 +556,7 @@ def process_get_list_item(data: dict) -> Optional[MediaList]:
return None


def process_get_anime_activity(data) -> Optional[tuple[list[ListActivity], PageInfo]]:
def process_get_anime_activity(data) -> Optional[Tuple[List[ListActivity], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["activities"]
Expand Down Expand Up @@ -592,7 +591,7 @@ def process_get_anime_activity(data) -> Optional[tuple[list[ListActivity], PageI
return None


def process_get_manga_activity(data: dict) -> Optional[tuple[list[ListActivity], PageInfo]]:
def process_get_manga_activity(data: dict) -> Optional[Tuple[List[ListActivity], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["activities"]
Expand Down Expand Up @@ -626,7 +625,7 @@ def process_get_manga_activity(data: dict) -> Optional[tuple[list[ListActivity],
return None


def process_get_text_activity(data: dict) -> Optional[tuple[list[TextActivity], PageInfo]]:
def process_get_text_activity(data: dict) -> Optional[Tuple[List[TextActivity], PageInfo]]:
if data["data"]:
try:
items = data["data"]["Page"]["activities"]
Expand Down Expand Up @@ -662,7 +661,7 @@ def process_get_text_activity(data: dict) -> Optional[tuple[list[TextActivity],
return None


def process_get_message_activity(data: dict) -> Optional[list[TextActivity]]:
def process_get_message_activity(data: dict) -> Optional[List[TextActivity]]:
result = []

if data["data"]:
Expand Down Expand Up @@ -700,5 +699,5 @@ def process_get_message_activity(data: dict) -> Optional[list[TextActivity]]:
return None


def process_get_message_activity_sent(data: dict) -> Optional[tuple[list[TextActivity], PageInfo]]:
def process_get_message_activity_sent(data: dict) -> Optional[Tuple[List[TextActivity], PageInfo]]:
return process_get_message_activity(data) # Currently they are the same
28 changes: 14 additions & 14 deletions anilist/sync_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def search(
pagination: bool = False,
) -> Optional[
Union[
tuple[Union[Anime, Manga, Character, Staff, User], PageInfo],
Tuple[Union[Anime, Manga, Character, Staff, User], PageInfo],
Union[Anime, Manga, Character, Staff, User]]
]:
"""Used to search specified content type with the given query.
Expand Down Expand Up @@ -132,7 +132,7 @@ def get(
page: int = 1,
limit: int = 25,
pagination: bool = False,
) -> Optional[tuple[Union[Anime, Manga, Character, Staff, List[MediaList], User], PageInfo]]:
) -> Optional[Tuple[Union[Anime, Manga, Character, Staff, List[MediaList], User], PageInfo]]:
"""Gets specified item from given id.
Args:
Expand Down Expand Up @@ -202,31 +202,31 @@ def get(
raise TypeError("There is no such content type.")

@staticmethod
def search_anime(query: str, limit: int, page: int = 1) -> Optional[tuple[list[Anime], PageInfo]]:
def search_anime(query: str, limit: int, page: int = 1) -> Optional[Tuple[List[Anime], PageInfo]]:
response = api_query(ANIME_SEARCH_QUERY, dict(search=query, page=page, per_page=limit, MediaType="ANIME"))
data: Optional[dict] = response.json()
return process_search_anime(data)

@staticmethod
def search_manga(query: str, limit: int, page: int = 1) -> Optional[tuple[list[Manga], PageInfo]]:
def search_manga(query: str, limit: int, page: int = 1) -> Optional[Tuple[List[Manga], PageInfo]]:
response = api_query(MANGA_SEARCH_QUERY, dict(search=query, page=page, per_page=limit, MediaType="MANGA"))
data = response.json()
return process_search_manga(data)

@staticmethod
def search_character(query: str, limit: int, page: int = 1) -> Optional[tuple[list[Character], PageInfo]]:
def search_character(query: str, limit: int, page: int = 1) -> Optional[Tuple[List[Character], PageInfo]]:
response = api_query(CHARACTER_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_character(data)

@staticmethod
def search_staff(query: str, limit: int, page: int = 1) -> Optional[tuple[list[Staff], PageInfo]]:
def search_staff(query: str, limit: int, page: int = 1) -> Optional[Tuple[List[Staff], PageInfo]]:
response = api_query(STAFF_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_staff(data)

@staticmethod
def search_user(query: str, limit: int, page: int = 1) -> Optional[tuple[list[User], PageInfo]]:
def search_user(query: str, limit: int, page: int = 1) -> Optional[Tuple[List[User], PageInfo]]:
response = api_query(USER_SEARCH_QUERY, dict(search=query, page=page, per_page=limit))
data = response.json()
return process_search_user(data)
Expand Down Expand Up @@ -264,7 +264,7 @@ def get_user(name: str) -> Optional[User]:
@staticmethod
def get_list(
user_id: int, limit: int, page: int = 1, content_type: str = "anime"
) -> Optional[tuple[list[MediaList], PageInfo]]:
) -> Optional[Tuple[List[MediaList], PageInfo]]:
is_manga = "manga" in content_type
response = api_query(LIST_GET_QUERY_ANIME if not is_manga else LIST_GET_QUERY_MANGA,
dict(user_id=user_id, page=page, per_page=limit))
Expand Down Expand Up @@ -293,7 +293,7 @@ def get_activity(
page: int = 1,
limit: int = 25,
pagination: bool = False,
) -> Union[Optional[tuple[ListActivity, PageInfo]], Optional[ListActivity]]:
) -> Union[Optional[Tuple[ListActivity, PageInfo]], Optional[ListActivity]]:
"""Returns activity of a user.
Args:
Expand Down Expand Up @@ -348,15 +348,15 @@ def get_activity(

@staticmethod
def get_anime_activity(user_id: int, limit: int, page: int = 1) \
-> Optional[tuple[list[ListActivity], PageInfo]]:
-> Optional[Tuple[List[ListActivity], PageInfo]]:
response = api_query(LIST_ACTIVITY_QUERY,
dict(user_id=user_id, page=page, per_page=limit, activity_type="ANIME_LIST"))
data = response.json()
return process_get_anime_activity(data)

@staticmethod
def get_manga_activity(user_id: int, limit: int, page: int = 1) \
-> Optional[tuple[list[ListActivity], PageInfo]]:
-> Optional[Tuple[List[ListActivity], PageInfo]]:
MANGA_ACTIVITY_QUERY = LIST_ACTIVITY_QUERY.replace(
"episodes", "chapters\nvolumes"
)
Expand All @@ -368,23 +368,23 @@ def get_manga_activity(user_id: int, limit: int, page: int = 1) \
@staticmethod
def get_text_activity(
user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = api_query(TEXT_ACTIVITY_QUERY, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_text_activity(data)

@staticmethod
def get_message_activity(
user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = api_query(MESSAGE_ACTIVITY_QUERY, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_message_activity(data)

@staticmethod
def get_message_activity_sent(
user_id: int, limit: int, page: int = 1
) -> Optional[tuple[list[TextActivity], PageInfo]]:
) -> Optional[Tuple[List[TextActivity], PageInfo]]:
response = api_query(MESSAGE_ACTIVITY_QUERY_SENT, dict(user_id=user_id, page=page, per_page=limit))
data = response.json()
return process_get_message_activity_sent(data)
9 changes: 4 additions & 5 deletions anilist/types/statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
#
# SPDX-License-Identifier: MIT

from typing import Callable, Dict, List

from typing import List, Dict
from .object import Object
from .score import Score


class Ranking(Object):
Expand Down Expand Up @@ -44,9 +43,9 @@ def __init__(
episodes_watched: int = None,
chapters_read: int = None,
volumes_read: int = None,
statuses: list[list[dict[str, int], dict[str, int]]] = None,
genres: list[list[dict[str, int], dict[str, int]]] = None,
tags: list[list[dict[str, int], dict[str, int]]] = None,
statuses: List[List[Dict[str, int]]] = None,
genres: List[List[Dict[str, int]]] = None,
tags: List[List[Dict[str, int]]] = None,
) -> None:
self.count = count
self.mean_score = mean_score
Expand Down
Loading

0 comments on commit 43f4a90

Please sign in to comment.