otaku_info.db package

Submodules

otaku_info.db.LnRelease module

class otaku_info.db.LnRelease.LnRelease(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that keeps track of light novel releases

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

digital: bool
media_item: Optional[otaku_info.db.MediaItem.MediaItem]
media_type: Optional[otaku_info.enums.MediaType]
physical: bool
publisher: Optional[str]
property release_date: datetime.datetime
Returns

The release date as a datetime object

release_date_string: str
series_name: str
service: Optional[otaku_info.enums.ListService]
service_id: Optional[str]
volume: str
property volume_number: int
Returns

The volume number as an integer

otaku_info.db.MangaChapterGuess module

class otaku_info.db.MangaChapterGuess.MangaChapterGuess(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that keeps track of manga chapter guesses.

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

guess: int
last_update: int
media_item: otaku_info.db.MediaItem.MediaItem
media_type: otaku_info.enums.MediaType
service: otaku_info.enums.ListService
service_id: str

otaku_info.db.MediaIdMapping module

class otaku_info.db.MediaIdMapping.MediaIdMapping(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model to map media IDs to each other across services

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

media_item: otaku_info.db.MediaItem.MediaItem
media_type: otaku_info.enums.MediaType
parent_service: otaku_info.enums.ListService
parent_service_id: str
service: otaku_info.enums.ListService
property service_icon: str
Returns

The path to the service’s icon file

service_id: str
property service_url: str
Returns

The URL to the series for the given service

otaku_info.db.MediaItem module

class otaku_info.db.MediaItem.MediaItem(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model for media items. These model a representation of a series specific to one list service like anilist or mangadex.

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

chapter_guess: Optional[MangaChapterGuess]
cover_url: str
property current_release: Optional[int]

The most current release, specifically tailored to the type of media :return: None

english_title: Optional[str]
id_mappings: List[MediaIdMapping]
property ids: Dict[otaku_info.enums.ListService, MediaIdMapping]
Returns

A dictionary mapping list services to IDs for this media item

latest_release: Optional[int]
latest_volume_release: Optional[int]
ln_releases: List[LnRelease]
media_subtype: otaku_info.enums.MediaSubType
media_type: otaku_info.enums.MediaType
next_episode: Optional[int]
next_episode_airing_time: Optional[int]
property next_episode_datetime: Optional[datetime.datetime]
Returns

The datetime for when the next episode airs

property own_url: str
Returns

The URL to the item’s page on the otaku-info site

releasing_state: otaku_info.enums.ReleasingState
romaji_title: str
service: otaku_info.enums.ListService
property service_icon: str
Returns

The path to the service’s icon file

service_id: str
property service_url: str
Returns

The URL to the series for the given service

property title: str
Returns

The default title for the media item.

user_states: List[MediaUserState]

otaku_info.db.MediaList module

class otaku_info.db.MediaList.MediaList(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model for user-specific media lists.

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

list_items: List[MediaListItem]
media_type: otaku_info.enums.MediaType
name: str
service: otaku_info.enums.ListService
user: jerrycan.db.User.User
user_id: int

otaku_info.db.MediaListItem module

class otaku_info.db.MediaListItem.MediaListItem(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model for media list items. This model maps MediaLists and MediaUserStates

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

media_list: otaku_info.db.MediaList.MediaList
media_list_media_type: otaku_info.enums.MediaType
media_list_name: int
media_list_service: otaku_info.enums.ListService
media_list_user_id: int
user_state: otaku_info.db.MediaUserState.MediaUserState
user_state_media_type: otaku_info.enums.MediaType
user_state_service: otaku_info.enums.ListService
user_state_service_id: str
user_state_user_id: int

otaku_info.db.MediaNotification module

class otaku_info.db.MediaNotification.MediaNotification(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that stores a media notification for a user

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

last_update
media_type: otaku_info.enums.MediaType
media_user_state: otaku_info.db.MediaUserState.MediaUserState
service: otaku_info.enums.ListService
service_id: str
user_id: int

otaku_info.db.MediaUserState module

class otaku_info.db.MediaUserState.MediaUserState(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that keeps track of a user’s entries on external services for a media item

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

consuming_state: otaku_info.enums.ConsumingState
media_item: otaku_info.db.MediaItem.MediaItem
media_list_items: List[MediaListItem]
media_notification: Optional[MediaNotification]
media_type: otaku_info.enums.MediaType
progress: Optional[int]
score: Optional[int]
service: otaku_info.enums.ListService
service_id: str
user: jerrycan.db.User.User
user_id: int
volume_progress: Optional[int]

otaku_info.db.NotificationSetting module

class otaku_info.db.NotificationSetting.NotificationSetting(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that stores notification settings for a user

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

minimum_score: int
notification_type: str
user: jerrycan.db.User.User
user_id: int
value: bool

otaku_info.db.ServiceUsername module

class otaku_info.db.ServiceUsername.ServiceUsername(*args, **kwargs)

Bases: jerrycan.db.ModelMixin.ModelMixin, sqlalchemy.ext.declarative.api.Model

Database model that stores an external service username for a user

__init__(*args, **kwargs)

Initializes the Model :param args: The constructor arguments :param kwargs: The constructor keyword arguments

service: otaku_info.enums.ListService
user: jerrycan.db.User.User
user_id: int
username: str

Module contents

otaku_info.db.models: List[sqlalchemy.ext.declarative.api.Model] = [<class 'otaku_info.db.MangaChapterGuess.MangaChapterGuess'>, <class 'otaku_info.db.MediaIdMapping.MediaIdMapping'>, <class 'otaku_info.db.MediaItem.MediaItem'>, <class 'otaku_info.db.MediaList.MediaList'>, <class 'otaku_info.db.MediaListItem.MediaListItem'>, <class 'otaku_info.db.MediaUserState.MediaUserState'>, <class 'otaku_info.db.ServiceUsername.ServiceUsername'>, <class 'otaku_info.db.MediaNotification.MediaNotification'>, <class 'otaku_info.db.NotificationSetting.NotificationSetting'>, <class 'otaku_info.db.LnRelease.LnRelease'>]

The database models of the application