otaku_info package

Subpackages

Submodules

otaku_info.Config module

class otaku_info.Config.Config

Bases: jerrycan.Config.Config

Configuration for the flask application

TELEGRAM_API_KEY: str

API Key for the telegram bot used for notification messages

TELEGRAM_BOT_CONNECTION: bokkichat.connection.impl.TelegramBotConnection.TelegramBotConnection

Single Telegram bot connection used for all telegram communications

otaku_info.enums module

class otaku_info.enums.ConsumingState(value)

Bases: enum.Enum

Class that defines the possible consuming states for a user and media item

COMPLETED = 'completed'
CURRENT = 'current'
DROPPED = 'dropped'
PAUSED = 'paused'
PLANNING = 'planning'
REPEATING = 'repeating'
class otaku_info.enums.ListService(value)

Bases: enum.Enum

Class that defines available list services

ANILIST = 'anilist'
ANIMEPLANET = 'animeplanet'
KITSU = 'kitsu'
MANGADEX = 'mangadex'
MANGAUPDATES = 'mangaupdates'
MYANIMELIST = 'myanimelist'
class otaku_info.enums.MediaRelationType(value)

Bases: enum.Enum

Class that models a media relation type

ADAPTATION = 'adaptation'
ALTERNATIVE = 'alternative'
CHARACTER = 'character'
COMPILATION = 'compilation'
CONTAINS = 'contains'
OTHER = 'other'
PARENT = 'parent'
PREQUEL = 'prequel'
SEQUEL = 'sequel'
SIDE_STORY = 'side_story'
SOURCE = 'source'
SPIN_OFF = 'spin_off'
SUMMARY = 'summary'
class otaku_info.enums.MediaSubType(value)

Bases: enum.Enum

Class that models a media subtype for media items

MANGA = 'manga'
MANHWA = 'manhwa'
MOVIE = 'movie'
MUSIC = 'music'
NOVEL = 'novel'
ONA = 'ona'
ONE_SHOT = 'one_shot'
OVA = 'ova'
SPECIAL = 'special'
TV = 'tv'
TV_SHORT = 'tv_short'
UNKNOWN = 'unknown'
class otaku_info.enums.MediaType(value)

Bases: enum.Enum

Class that models a media type for media items

ANIME = 'anime'
MANGA = 'manga'
class otaku_info.enums.NotificationType(value)

Bases: enum.Enum

Class that defines the possible notification types

NEW_ANIME_EPISODES = 'new_anime_episodes'
NEW_MANGA_CHAPTERS = 'new_manga_chapters'
class otaku_info.enums.ReleasingState(value)

Bases: enum.Enum

Class that defines possible releasing states

CANCELLED = 'cancelled'
FINISHED = 'finished'
NOT_YET_RELEASED = 'not_yet_released'
RELEASING = 'releasing'
UNKNOWN = 'unknown'

otaku_info.main module

otaku_info.main.main()

Starts the flask application :return: None

otaku_info.mappings module

otaku_info.mappings.list_service_id_types: Dict[otaku_info.enums.ListService, Type] = {<ListService.ANILIST: 'anilist'>: <class 'int'>, <ListService.ANIMEPLANET: 'animeplanet'>: <class 'str'>, <ListService.KITSU: 'kitsu'>: <class 'int'>, <ListService.MANGAUPDATES: 'mangaupdates'>: <class 'int'>, <ListService.MYANIMELIST: 'myanimelist'>: <class 'int'>, <ListService.MANGADEX: 'mangadex'>: <class 'int'>}

Which type a list service ID should have

otaku_info.mappings.list_service_priorities: List[otaku_info.enums.ListService] = [<ListService.ANILIST: 'anilist'>, <ListService.MYANIMELIST: 'myanimelist'>, <ListService.MANGADEX: 'mangadex'>, <ListService.KITSU: 'kitsu'>, <ListService.MANGAUPDATES: 'mangaupdates'>, <ListService.ANIMEPLANET: 'animeplanet'>]

Specifies the order in which list service data is prioritized

otaku_info.mappings.list_service_url_formats: Dict[otaku_info.enums.ListService, str] = {<ListService.ANILIST: 'anilist'>: 'https://anilist.co/@{media_type}/@{id}', <ListService.ANIMEPLANET: 'animeplanet'>: 'https://www.anime-planet.com/@{media_type}/@{id}', <ListService.KITSU: 'kitsu'>: 'https://kitsu.io/anime/@{id}', <ListService.MANGAUPDATES: 'mangaupdates'>: 'https://www.mangaupdates.com/series.html?id=@{id}', <ListService.MYANIMELIST: 'myanimelist'>: 'https://myanimelist.net/@{media_type}/@{id}', <ListService.MANGADEX: 'mangadex'>: 'https://mangadex.org/title/@{id}'}

Schemas for URLs for external services

otaku_info.mappings.mangadex_external_id_names: Dict[otaku_info.enums.ListService, str] = {<ListService.ANILIST: 'anilist'>: 'al', <ListService.ANIMEPLANET: 'animeplanet'>: 'ap', <ListService.KITSU: 'kitsu'>: 'kt', <ListService.MANGAUPDATES: 'mangaupdates'>: 'mu', <ListService.MYANIMELIST: 'myanimelist'>: 'mal', <ListService.MANGADEX: 'mangadex'>: 'NONE'}

The names used by mangadex to identify IDs from other services

otaku_info.template_extras module

otaku_info.template_extras.profile_extras() Dict[str, Any]

Makes sure that the profile page displays service usernames :return: The variables to forward to the template

Module contents

otaku_info.root_path: str = '/usr/local/lib/python3.8/dist-packages/otaku_info-0.6.4-py3.8.egg/otaku_info'

The root path of the application

otaku_info.sentry_dsn = 'https://f899b0c46d324f37b83527a3994afd8d@sentry.namibsun.net/18'

The sentry DSN used for error logging