Async wrapper for nhentai API
Project description
Async wrapper for nhentai API
Installation
$ pip install aiontai
How to use
Create client
import asyncio
from aiohttp import ClientSession
from aiontai import (
NHentaiClient,
NHentaiAPI,
Conventer,
)
async def main() -> None:
client_object = NHentaiClient(
api=NHentaiAPI(
ClientSession(),
),
conventer=Conventer(),
)
asyncio.run(main())
Or can use injector that will create the object itself (Next examples will be using it)
import asyncio
from injector import Injector
from aiontai import (
NHentaiClient,
ClientModule,
)
async def main() -> None:
injector = Injector(ClientModule())
client_object = injector.get(NHentaiClient)
asyncio.run(main())
Example of using the client
async def main() -> None:
injector = Injector(ClientModule())
client_object = injector.get(NHentaiClient)
async with client_object as client: # Will close the session itself
doujin = await client.get_random_doujin()
for page in doujin.images:
print(page.url)
print(doujin.to_json())
asyncio.run(main())
Example of using the proxy
...
from injector import (
provider,
Injector,
Module,
)
from aiohttp_proxy import ProxyConnector # pip install aiohttp_proxy
...
class AiohttpProxyModule(Module):
def __init__(self, proxi_url: str) -> None:
self._proxi_url = proxi_url
@provider
def provide_client_session(self) -> ClientSession:
connector = ProxyConnector.from_url(self._proxi_url)
return ClientSession(connector=connector)
async def main() -> None:
injector = Injector(
modules=[
ClientModule(),
AiohttpProxyModule("http://user:password@127.0.0.1:1080"),
],
)
client_object = injector.get(NHentaiClient)
asyncio.run(main())
Example of using the Low level api
async def main() -> None:
injector = Injector(ClientModule())
client_object = injector.get(NHentaiAPI)
async with client_object as client:
doujin = await client.get_random_doujin() # Return: Dict[str, Any]
# from api without loss of information
print(doujin)
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiontai-1.0.12.tar.gz
(8.0 kB
view details)
Built Distribution
File details
Details for the file aiontai-1.0.12.tar.gz
.
File metadata
- Download URL: aiontai-1.0.12.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.8 Linux/5.15.12-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a250ea535f2ce33853c5fc7ca009dcf7474c4940ad2e7b91a499ec79e213c7e3 |
|
MD5 | cceddae0c4ae7c64094a7a77f79da6f4 |
|
BLAKE2b-256 | 9b2638a301ae6b8536302b794c0ed538848191bd6f16db57fd3b8a16246ef4e0 |
File details
Details for the file aiontai-1.0.12-py3-none-any.whl
.
File metadata
- Download URL: aiontai-1.0.12-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.8 Linux/5.15.12-1-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44dd47c1d00d4ccf6633f9ec1d1f164d42c639c7f7aef0a0ce674e20fe97c519 |
|
MD5 | 075b4fc84f7285d4616c944c91640160 |
|
BLAKE2b-256 | 432621b25c88f85048d589607d0e162d62fdafbaeb2dac523fd300cd2266d66e |