Aiontai package
aiontai.api module
Low level API.
- exception aiontai.api.DoujinDoesNotExistError
Bases:
aiontai.api.NHentaiErrorDoujin does noe exist.
- exception aiontai.api.EmptyAPIResultError
Bases:
aiontai.api.NHentaiErrorAPI result is empty.
- exception aiontai.api.HTTPError(response: aiohttp.client_reqrep.ClientResponse, message: Optional[str] = None)
Bases:
aiontai.api.NHentaiErrorError from responce.
- responce
Responce object.
- message
Message about error.
- class aiontai.api.NHentaiAPI(client_session: aiohttp.client.ClientSession)
Bases:
objectNHentai low level API.
- NHentaiAPIType
alias of TypeVar(‘NHentaiAPIType’, bound=
NHentaiAPI)
- async __aenter__() aiontai.api.NHentaiAPIType
Open async context manager.
- Returns
Class object.
- async __aexit__(_exception_type: Type[BaseException], _exception: BaseException, _traceback: types.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: aiontai.api.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: aiontai.api.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:
ExceptionBase NHentai api error.
aiontai.client module
Client (High level API).
- class aiontai.client.NHentaiClient(api: aiontai.api.NHentaiAPI, conventer: aiontai.converter.Conventer)
Bases:
objectNHentai client (high level API).
- NHentaiClientType
alias of TypeVar(‘NHentaiClientType’, bound=
NHentaiClient)
- async __aenter__() aiontai.client.NHentaiClientType
Open async context manager.
- Returns
Class object.
- async __aexit__(_exception_type: Type[BaseException], _exception: BaseException, _traceback: types.TracebackType) None
Close object from async context manager.
- async close() None
Close object.
- async get_doujin(doujin_id: int) aiontai.models.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) aiontai.models.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() aiontai.models.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: aiontai.api.SortOptions = SortOptions.DATE) aiontai.models.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: aiontai.api.SortOptions = SortOptions.DATE) aiontai.models.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:
objectConventer for convert raw data to models.
- convert_doujin(raw_data: Dict[str, Any]) aiontai.models.Doujin
Convert raw data to doujin model.
- Parameters
raw_data – Model raw data.
- Returns
Doujin model.
- convert_doujins_result(raw_data: Dict[str, Any]) aiontai.models.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) aiontai.models.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.
- convert_tag(raw_data: Dict[str, Any]) aiontai.models.Tag
Convert raw data to tag model.
- Parameters
raw_data – Model raw data.
- Returns
Tag model.
- convert_title(raw_data: Dict[str, Any]) aiontai.models.Title
Convert raw data to title model.
- Parameters
raw_data – Model raw data.
- Returns
Title model.
aiontai.models module
API Models.
- class aiontai.models.Doujin(id: int, media_id: int, title: aiontai.models.Title, cover: aiontai.models.Image, thumbnail: aiontai.models.Image, images: List[aiontai.models.Image], tags: List[aiontai.models.Tag], pages_count: int, favorites_count: int, scanlator: str, upload_date: datetime.datetime)
Bases:
dataclasses_json.api.DataClassJsonMixinDoujin model.
- __getitem__(index: int) aiontai.models.Image
Get page by key.
- Parameters
index – List index.
- Returns
Image model.
- Raises
IndexError – If page index out of range.
- __iter__() Iterator[aiontai.models.Image]
Pages iterator.
- Returns
Images iterator.
- __len__() int
Pages len.
- Returns
Len of images.
- cover: aiontai.models.Image
- favorites_count: int
- id: int
- images: List[aiontai.models.Image]
- media_id: int
- pages_count: int
- scanlator: str
- tags: List[aiontai.models.Tag]
- thumbnail: aiontai.models.Image
- title: aiontai.models.Title
- upload_date: datetime.datetime
- class aiontai.models.DoujinsResult(doujins: List[aiontai.models.Doujin], pages_count: int, doujins_per_page: int)
Bases:
dataclasses_json.api.DataClassJsonMixinDoujinsResult model.
- doujins: List[aiontai.models.Doujin]
- doujins_per_page: int
- pages_count: int
- class aiontai.models.Image(name: str, url: str, media_id: int, width: int, height: int, extension: aiontai.models.ImageExtension)
Bases:
dataclasses_json.api.DataClassJsonMixinImage model.
- extension: aiontai.models.ImageExtension
- height: int
- media_id: int
- name: str
- url: str
- width: int
- class aiontai.models.ImageExtension(value)
Bases:
str,enum.EnumEnum for image extension.
- GIF = 'g'
- JPG = 'j'
- PNG = 'p'
- class aiontai.models.Tag(id: int, count: int, name: str, type: aiontai.models.TagType, url: str)
Bases:
dataclasses_json.api.DataClassJsonMixinTag model.
- count: int
- id: int
- name: str
- type: aiontai.models.TagType
- url: str
aiontai.modules module
Modules for automatic dependencies.
- class aiontai.modules.ClientModule
Bases:
injector.ModuleModule for automatic dependencies.
- provide_api(client_session: aiohttp.client.ClientSession) aiontai.api.NHentaiAPI
Provide NHentaiAPI.
- Parameters
client_session – Object required for dependence.
- Returns
Provided object for injector.
- provide_client(api: aiontai.api.NHentaiAPI) aiontai.client.NHentaiClient
Provide NHentaiClient.
- Parameters
api – Object required for dependence.
- Returns
Provided object for injector.
- provide_client_session() aiohttp.client.ClientSession
Provide ClientSession.
- Returns
Provided object for injector.