anime_list_apis.models package¶
Subpackages¶
- anime_list_apis.models.attributes package
- Submodules
- anime_list_apis.models.attributes.ConsumingStatus module
- anime_list_apis.models.attributes.Date module
- anime_list_apis.models.attributes.Id module
- anime_list_apis.models.attributes.MediaFormat module
- anime_list_apis.models.attributes.MediaType module
- anime_list_apis.models.attributes.Relation module
- anime_list_apis.models.attributes.ReleasingStatus module
- anime_list_apis.models.attributes.Score module
- anime_list_apis.models.attributes.Title module
- Module contents
Submodules¶
anime_list_apis.models.CacheAble module¶
-
class
anime_list_apis.models.CacheAble.
CacheAble
¶ Bases:
anime_list_apis.models.Serializable.Serializable
Class that defines methods needed to be implemented by a cache-able object
-
generate_tag
(site_type: anime_list_apis.models.attributes.Id.IdType) → str¶ Generates a tag/identifier for storing in the cache :param site_type: The site type for which to generate the tag :return: The generated tag
-
get_id
() → anime_list_apis.models.attributes.Id.Id¶ Retrieves the cache entry’s ID :return: The ID
-
get_media_type
() → anime_list_apis.models.attributes.MediaType.MediaType¶ Retrieves the media type :return: The media type
-
get_model_type
() → anime_list_apis.models.CacheAble.CacheModelType¶ Retrieves the cache model type :return: The model type
-
get_username
() → Optional[str]¶ Retrieves the username, if applicable. Else None :return: The username or None if not applicable
-
anime_list_apis.models.MediaData module¶
-
class
anime_list_apis.models.MediaData.
AnimeData
(_format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str], episode_count: Optional[int], episode_duration: Optional[int])¶ Bases:
anime_list_apis.models.MediaData.MediaData
Class that models anime data
-
__init__
(_format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str], episode_count: Optional[int], episode_duration: Optional[int])¶ Initializes the Anime Data object and checks for type issues :param _format: The media format :param _id: The ID of the anime :param title: The title of the anime :param relations: The relations of the anime :param releasing_status: The airing status of the anime :param releasing_start: The day the anime started airing :param releasing_end: The day the last episode aired :param episode_count: The amount of episodes of the anime :param episode_duration: The duration of the episodes in minutes :param cover_url: An URL pointing to a cover image for the anime :raises TypeError: If any of the parameters has a wrong type
-
-
class
anime_list_apis.models.MediaData.
MangaData
(_format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str], chapter_count: Optional[int], volume_count: Optional[int])¶ Bases:
anime_list_apis.models.MediaData.MediaData
Class that models manga data
-
__init__
(_format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str], chapter_count: Optional[int], volume_count: Optional[int])¶ Initializes the Manga Data object and checks for type issues :param _format: The media format :param _id: The ID of the manga :param title: The title of the manga :param relations: The relations of the manga :param releasing_status: The releasing status of the manga :param releasing_start: The day the manga started releasing :param releasing_end: The day the last chapter/volume released :param chapter_count: The total amount of chapters of this manga :param volume_count: The total amount of volumes of this manga :param cover_url: An URL pointing to a cover image for the manga :raises TypeError: If any of the parameters has a wrong type
-
-
class
anime_list_apis.models.MediaData.
MediaData
(media_type: anime_list_apis.models.attributes.MediaType.MediaType, _format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str])¶ Bases:
anime_list_apis.models.Serializable.MediaSerializable
,anime_list_apis.models.CacheAble.CacheAble
Class that models user-independent media data
-
__init__
(media_type: anime_list_apis.models.attributes.MediaType.MediaType, _format: anime_list_apis.models.attributes.MediaFormat.MediaFormat, _id: anime_list_apis.models.attributes.Id.Id, title: anime_list_apis.models.attributes.Title.Title, relations: List[anime_list_apis.models.attributes.Relation.Relation], releasing_status: anime_list_apis.models.attributes.ReleasingStatus.ReleasingStatus, releasing_start: Optional[anime_list_apis.models.attributes.Date.Date], releasing_end: Optional[anime_list_apis.models.attributes.Date.Date], cover_url: Optional[str])¶ Initializes the Media Data object and checks for type issues Some values may be None, for example if a media has not completed releasing yet. This constructor initializes all common values of all media types. :param media_type: The type of media :param _format: The media format :param _id: The ID of the media :param title: The title of the media :param relations: The relations of the media to other media :param releasing_status: The releasing status of the media :param releasing_start: The day the media started releasing :param releasing_end: The day the last content was released :param cover_url: An URL pointing to a cover image for the anime :raises TypeError: If any of the parameters has a wrong type
-
classmethod
get_class_for_media_type
(media_type: anime_list_apis.models.attributes.MediaType.MediaType)¶ Maps a class to a media type :param media_type: The media type :return: The class mapped to that media type
-
get_id
() → anime_list_apis.models.attributes.Id.Id¶ Retrieves the cache entry’s ID :return: The ID
-
get_media_type
() → anime_list_apis.models.attributes.MediaType.MediaType¶ Retrieves the media type :return: The media type
-
get_model_type
() → anime_list_apis.models.CacheAble.CacheModelType¶ Retrieves the cache model type :return: The model type
-
get_username
() → Optional[str]¶ Retrieves the username, if applicable. Else None :return: The username or None if not applicable
-
anime_list_apis.models.MediaListEntry module¶
-
class
anime_list_apis.models.MediaListEntry.
AnimeListEntry
(anime_data: anime_list_apis.models.MediaData.AnimeData, user_data: anime_list_apis.models.MediaUserData.AnimeUserData)¶ Bases:
anime_list_apis.models.MediaListEntry.MediaListEntry
Class that models a user’s anime list entry
-
__init__
(anime_data: anime_list_apis.models.MediaData.AnimeData, user_data: anime_list_apis.models.MediaUserData.AnimeUserData)¶ Initializes the anime list entry. :param anime_data: The anime data :param user_data: The user data :raises TypeError: If any of the parameters has a wrong type
-
get_media_data
() → anime_list_apis.models.MediaData.AnimeData¶ Generates a new AnimeData object from the internal representation :return: The generated AnimeData object :raises TypeError: If any of the internal parameters has a wrong type
-
get_user_data
() → anime_list_apis.models.MediaUserData.AnimeUserData¶ Generates a new AnimeUserData object from the internal representation :return: The generated AnimeUserData object :raises TypeError: If any of the internal parameters has a wrong type
-
-
class
anime_list_apis.models.MediaListEntry.
MangaListEntry
(manga_data: anime_list_apis.models.MediaData.MangaData, user_data: anime_list_apis.models.MediaUserData.MangaUserData)¶ Bases:
anime_list_apis.models.MediaListEntry.MediaListEntry
Class that models a user’s manga list entry
-
__init__
(manga_data: anime_list_apis.models.MediaData.MangaData, user_data: anime_list_apis.models.MediaUserData.MangaUserData)¶ Initializes the manga list entry. :param manga_data: The manga data :param user_data: The user data :raises TypeError: If any of the parameters has a wrong type
-
get_media_data
() → anime_list_apis.models.MediaData.MangaData¶ Generates a new MangaData object from the internal representation :return: The generated MangaData object :raises TypeError: If any of the internal parameters has a wrong type
-
get_user_data
() → anime_list_apis.models.MediaUserData.MangaUserData¶ Generates a new MangaUserData object from the internal representation :return: The generated MangaUserData object :raises TypeError: If any of the internal parameters has a wrong type
-
-
class
anime_list_apis.models.MediaListEntry.
MediaListEntry
(media_type: anime_list_apis.models.attributes.MediaType.MediaType, media_data: anime_list_apis.models.MediaData.MediaData, user_data: anime_list_apis.models.MediaUserData.MediaUserData)¶ Bases:
anime_list_apis.models.Serializable.MediaSerializable
,anime_list_apis.models.CacheAble.CacheAble
Class that models a user’s media list entry
-
__init__
(media_type: anime_list_apis.models.attributes.MediaType.MediaType, media_data: anime_list_apis.models.MediaData.MediaData, user_data: anime_list_apis.models.MediaUserData.MediaUserData)¶ Initializes the media list entry. :param media_data: The media data :param user_data: The user data :raises TypeError: If any of the parameters has a wrong type :raises ValueError: If the media and user data do not match
-
classmethod
get_class_for_media_type
(media_type: anime_list_apis.models.attributes.MediaType.MediaType)¶ Maps a class to a media type :param media_type: The media type :return: The class mapped to that media type
-
get_id
() → anime_list_apis.models.attributes.Id.Id¶ Retrieves the cache entry’s ID :return: The ID
-
get_media_data
() → anime_list_apis.models.MediaData.MediaData¶ Generates a new MediaData object from the internal representation :return: The generated MediaData object :raises TypeError: If any of the internal parameters has a wrong type
-
get_media_type
() → anime_list_apis.models.attributes.MediaType.MediaType¶ Retrieves the media type :return: The media type
-
get_model_type
() → anime_list_apis.models.CacheAble.CacheModelType¶ Retrieves the cache model type :return: The model type
-
get_user_data
() → anime_list_apis.models.MediaUserData.MediaUserData¶ Generates a new MediaUserData object from the internal representation :return: The generated MediaUserData object :raises TypeError: If any of the internal parameters has a wrong type
-
get_username
() → Optional[str]¶ Retrieves the username, if applicable. Else None :return: The username or None if not applicable
-
is_valid_entry
() → bool¶ Checks if the data has a valid combination of entry data :return: True, if all required attributes are valid and present
-
anime_list_apis.models.MediaUserData module¶
-
class
anime_list_apis.models.MediaUserData.
AnimeUserData
(media_id: anime_list_apis.models.attributes.Id.Id, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date], episode_progress: int)¶ Bases:
anime_list_apis.models.MediaUserData.MediaUserData
Models a user’s entry data for an anime series
-
__init__
(media_id: anime_list_apis.models.attributes.Id.Id, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date], episode_progress: int)¶ Initializes the AnimeUserData object :param media_id: The ID of the corresponding AnimeData object :param username: The user’s username :param score: The user’s score for this anime :param consuming_status: The user’s current watching status :param consuming_start: The date on which the user started watching :param consuming_end: The date on which the user completed the show :param episode_progress: The user’s progress :raises TypeError: If any of the parameters has a wrong type
-
-
class
anime_list_apis.models.MediaUserData.
MangaUserData
(media_id: anime_list_apis.models.attributes.Id.Id, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date], chapter_progress: int, volume_progress: int)¶ Bases:
anime_list_apis.models.MediaUserData.MediaUserData
Models a user’s entry data for a manga series
-
__init__
(media_id: anime_list_apis.models.attributes.Id.Id, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date], chapter_progress: int, volume_progress: int)¶ Initializes the MangaUserData object :param media_id: The ID of the corresponding MangaData object :param username: The user’s username :param score: The user’s score for this manga :param consuming_status: The user’s current reading status :param consuming_start: The date on which the user started reading :param consuming_end: The date on which the user completed the series :param chapter_progress: The user’s chapter progress :param volume_progress: The user’s volume progress :raises TypeError: If any of the parameters has a wrong type
-
-
class
anime_list_apis.models.MediaUserData.
MediaUserData
(media_id: anime_list_apis.models.attributes.Id.Id, media_type: anime_list_apis.models.attributes.MediaType.MediaType, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date])¶ Bases:
anime_list_apis.models.Serializable.MediaSerializable
,anime_list_apis.models.CacheAble.CacheAble
Models a user’s entry data for an anime series
-
__init__
(media_id: anime_list_apis.models.attributes.Id.Id, media_type: anime_list_apis.models.attributes.MediaType.MediaType, username: str, score: anime_list_apis.models.attributes.Score.Score, consuming_status: anime_list_apis.models.attributes.ConsumingStatus.ConsumingStatus, consuming_start: Optional[anime_list_apis.models.attributes.Date.Date], consuming_end: Optional[anime_list_apis.models.attributes.Date.Date])¶ Initializes the MediaUserData object :param media_id: The ID of the corresponding MediaData object :param media_type: The type of media represented :param username: The user’s username :param score: The user’s score for this entry :param consuming_status: The user’s current consuming status :param consuming_start: The date on which the user started consuming :param consuming_end: The date on which the user completed the entry :raises TypeError: If any of the parameters has a wrong type
-
classmethod
get_class_for_media_type
(media_type: anime_list_apis.models.attributes.MediaType.MediaType)¶ Maps a class to a media type :param media_type: The media type :return: The class mapped to that media type
-
get_id
() → anime_list_apis.models.attributes.Id.Id¶ Retrieves the cache entry’s ID :return: The ID
-
get_media_type
() → anime_list_apis.models.attributes.MediaType.MediaType¶ Retrieves the media type :return: The media type
-
get_model_type
() → anime_list_apis.models.CacheAble.CacheModelType¶ Retrieves the cache model type :return: The model type
-
get_username
() → Optional[str]¶ Retrieves the username, if applicable. Else None :return: The username or None if not applicable
-
is_valid_entry
() → bool¶ Checks if the data has a valid combination of entry data :return: True, if all required attributes are valid and present
-
anime_list_apis.models.Serializable module¶
-
class
anime_list_apis.models.Serializable.
MediaSerializable
¶ Bases:
anime_list_apis.models.Serializable.Serializable
Class that allows for easier subclassing of Media classes
-
classmethod
get_class_for_media_type
(media_type: anime_list_apis.models.attributes.MediaType.MediaType)¶ Maps a class to a media type :param media_type: The media type :return: The class mapped to that media type
-
classmethod
-
class
anime_list_apis.models.Serializable.
Serializable
¶ Bases:
object
Abstract class that defines methods for subclasses to implement to make sure that they can be serialized
-
classmethod
deserialize
(data: Dict[str, Optional[str]])¶ Deserializes a dictionary into an object of this type :param data: The data to deserialize :return: The deserialized object :raises TypeError: If a type error occurred :raises ValueError: If the data could not be deserialized
-
classmethod
ensure_type
(obj: object, typ: type, none_allowed: bool = False)¶ Raises a TypeError if the object does not match the type :param obj: The object to check :param typ: The type the object should be :param none_allowed: If True, allows None values :return: None :raises TypeError: If the types do not match
-
serialize
() → Dict[str, Optional[str]]¶ Serializes the object into a dictionary :return: The serialized form of this object
-
static
type_check
(obj: object, typ: type, none_allowed: bool = False) → bool¶ Checks if an object is an instance of a type :param obj: The object to check :param typ: The type it should be :param none_allowed: If True, allows None values :return: True if the object is of that type, else False
-
classmethod