Aiontai package
aiontai.api module
Low level API.
- exception aiontai.api.DoujinDoesNotExistError
Bases:
NHentaiError
Doujin does noe exist.
- exception aiontai.api.EmptyAPIResultError
Bases:
NHentaiError
API result is empty.
- exception aiontai.api.HTTPError(response: ClientResponse, message: str | None = None)
Bases:
NHentaiError
Error from responce.
- responce
Responce object.
- message
Message about error.
- class aiontai.api.NHentaiAPI(client_session: ClientSession)
Bases:
object
NHentai low level API.
- NHentaiAPIType = ~NHentaiAPIType
- async __aenter__() NHentaiAPIType
Open async context manager.
- Returns:
Class object.
- async __aexit__(_exception_type: Type[BaseException], _exception: BaseException, _traceback: TracebackType) None
Close object from async context manager.
- async close() None
Close object.
- async get_doujin(doujin_id: int) Dict[str, Any]
Get doujin raw data by ID.
- Parameters:
doujin_id – ID of doujin.
- Returns:
Doujin raw data from responce.
- Raises:
DoujinDoesNotExistError – If doujin does not exit.
HTTPError – Error from response.
- async get_homepage_doujins(page: int = 1) Dict[str, Any]
Get doujins raw data from homepage.
- Parameters:
page – Number of page from which we return results. Defaults to 1.
- Returns:
Doujins raw data result from responce.
- Raises:
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
- async get_random_doujin() Dict[str, Any]
Get random doujin raw data.
- Returns:
Doujin raw data from responce.
- Raises:
HTTPError – Error from response.
- async is_exist(doujin_id: int) bool
Check if doujin exists.
- Parameters:
doujin_id – ID of doujin.
- Returns:
Doujin is exists.
- Raises:
HTTPError – Error from response.
- async search(query: str, page: int = 1, sort_by: SortOptions = SortOptions.DATE) Dict[str, Any]
Search doujins raw data result.
- Parameters:
query – Query for search doujins.
page – Number of page from which we return results. Defaults to 1.
sort_by – Sort options for search. Defaults to SortOptions.DATE.
- Returns:
Doujins raw data result from responce.
- Raises:
ValueError – If number of page is invalid.
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
- async search_by_tag(tag_id: int, page: int = 1, sort_by: SortOptions = SortOptions.DATE) Dict[str, Any]
Search doujins raw data result by tag.
- Parameters:
tag_id – Tag ID for search.
page – Number of page from which we return results. Defaults to 1.
sort_by – Sort options for search. Defaults to SortOptions.DATE.
- Returns:
Doujins raw data result from responce.
- Raises:
ValueError – If number of page is invalid or tag ID is invalid.
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
- exception aiontai.api.NHentaiError
Bases:
Exception
Base NHentai api error.
aiontai.client module
Client (High level API).
- class aiontai.client.NHentaiClient(api: NHentaiAPI, conventer: Conventer)
Bases:
object
NHentai client (high level API).
- NHentaiClientType = ~NHentaiClientType
- async __aenter__() NHentaiClientType
Open async context manager.
- Returns:
Class object.
- async __aexit__(_exception_type: Type[BaseException], _exception: BaseException, _traceback: TracebackType) None
Close object from async context manager.
- async close() None
Close object.
- async get_doujin(doujin_id: int) Doujin
Get doujin model by ID.
- Parameters:
doujin_id – ID of doujin.
- Returns:
Doujin model.
- Raises:
DoujinDoesNotExistError – If doujin does not exit.
HTTPError – Error from response.
- async get_homepage_doujins(*, page: int = 1) DoujinsResult
Get doujins result model from homepage.
- Parameters:
page – Number of page from which we return results. Defaults to 1.
- Returns:
Doujins result model.
- Raises:
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
- async get_random_doujin() Doujin
Get random doujin model.
- Returns:
Doujin model.
- Raises:
HTTPError – Error from response.
- async is_exist(doujin_id: int) bool
Check if doujin exists.
- Parameters:
doujin_id – ID of doujin.
- Returns:
Doujin is exists.
- Raises:
HTTPError – Error from response.
- async search(query: str, *, page: int = 1, sort_by: SortOptions = SortOptions.DATE) DoujinsResult
Search doujins result model.
- Parameters:
query – Query for search doujins.
page – Number of page from which we return results. Defaults to 1.
sort_by – Sort options for search. Defaults to api.SortOptions.DATE.
- Returns:
Doujins result model.
- Raises:
ValueError – If number of page is invalid.
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
- async search_by_tag(tag_id: int, *, page: int = 1, sort_by: SortOptions = SortOptions.DATE) DoujinsResult
Search doujins result model by tag.
- Parameters:
tag_id – Tag ID for search.
page – Number of page from which we return results. Defaults to 1.
sort_by – Sort options for search. Defaults to api.SortOptions.DATE.
- Returns:
Doujins result model.
- Raises:
ValueError – If number of page is invalid or tag ID is invalid.
EmptyAPIResultError – If api result is empty.
HTTPError – Error from response.
aiontai.converter module
Conventer module.
- class aiontai.converter.Conventer
Bases:
object
Conventer for convert raw data to models.
- convert_doujin(raw_data: Dict[str, Any]) Doujin
Convert raw data to doujin model.
- Parameters:
raw_data – Model raw data.
- Returns:
Doujin model.
- convert_doujins_result(raw_data: Dict[str, Any]) DoujinsResult
Convert raw data to doujins result model.
- Parameters:
raw_data – Model raw data.
- Returns:
Doujins result model.
- convert_image(raw_data: Dict[str, Any], name: str, media_id: int) Image
Convert raw data to image model.
- Parameters:
raw_data – Model raw data.
name – Name of image.
media_id – Image media id.
- Returns:
Image model.
aiontai.models module
API Models.
- class aiontai.models.Doujin(id: int, media_id: int, title: Title, cover: Image, thumbnail: Image, images: List[Image], tags: List[Tag], pages_count: int, favorites_count: int, scanlator: str, upload_date: datetime)
Bases:
DataClassJsonMixin
Doujin model.
- __getitem__(index: int) Image
Get page by key.
- Parameters:
index – List index.
- Returns:
Image model.
- Raises:
IndexError – If page index out of range.
- __len__() int
Pages len.
- Returns:
Len of images.
- favorites_count: int
- id: int
- media_id: int
- pages_count: int
- scanlator: str
- upload_date: datetime
- class aiontai.models.DoujinsResult(doujins: List[Doujin], pages_count: int, doujins_per_page: int)
Bases:
DataClassJsonMixin
DoujinsResult model.
- doujins_per_page: int
- pages_count: int
- class aiontai.models.Image(name: str, url: str, media_id: int, width: int, height: int, extension: ImageExtension)
Bases:
DataClassJsonMixin
Image model.
- extension: ImageExtension
- height: int
- media_id: int
- name: str
- url: str
- width: int
- class aiontai.models.ImageExtension(value)
Bases:
str
,Enum
Enum for image extension.
- GIF = 'g'
- JPG = 'j'
- PNG = 'p'
- class aiontai.models.Tag(id: int, count: int, name: str, type: TagType, url: str)
Bases:
DataClassJsonMixin
Tag model.
- count: int
- id: int
- name: str
- url: str
aiontai.modules module
Modules for automatic dependencies.
- class aiontai.modules.ClientModule
Bases:
Module
Module for automatic dependencies.
- provide_api(client_session: ClientSession) NHentaiAPI
Provide NHentaiAPI.
- Parameters:
client_session – Object required for dependence.
- Returns:
Provided object for injector.
- provide_client(api: NHentaiAPI) NHentaiClient
Provide NHentaiClient.
- Parameters:
api – Object required for dependence.
- Returns:
Provided object for injector.
- provide_client_session() ClientSession
Provide ClientSession.
- Returns:
Provided object for injector.