manga-dlp/contrib/api_template.py

58 lines
1.8 KiB
Python
Raw Permalink Normal View History

2022-05-17 13:32:50 +02:00
# api template for manga-dlp
class YourAPI:
2022-08-14 16:34:15 +02:00
"""Your API Class.
Get infos for a manga from example.org
Args:
url_uuid (str): URL or UUID of the manga
language (str): Manga language with country codes. "en" --> english
forcevol (bool): Force naming of volumes. Useful for mangas where chapters reset each volume
Attributes:
api_name (str): Name of the API
manga_uuid (str): UUID of the manga, without the url part
manga_title (str): The title of the manga, sanitized for all filesystems
chapter_list (list): A list of all available chapters for the language
"""
2022-05-17 13:32:50 +02:00
# api information - example
api_base_url = "https://api.mangadex.org"
img_base_url = "https://uploads.mangadex.org"
# get infos to initiate class
2022-07-06 22:19:40 +02:00
def __init__(self, url_uuid, language, forcevol):
2022-05-17 13:32:50 +02:00
# static info
2022-08-13 18:52:32 +02:00
self.api_name = "Your API Name"
2022-05-17 13:32:50 +02:00
self.url_uuid = url_uuid
self.language = language
self.forcevol = forcevol
# attributes needed by app.py
self.manga_uuid = "abc"
self.manga_title = "abc"
self.chapter_list = "abc"
# methods needed by app.py
# get chapter infos as a dictionary
def get_chapter_infos(chapter: str) -> dict:
# these keys have to be returned
return {
"uuid": chapter_uuid,
"volume": chapter_vol,
"chapter": chapter_num,
"name": chapter_name,
}
# get chapter images as a list (full links)
def get_chapter_images(chapter: str, download_wait: float) -> list:
# example
return [
"https://abc.def/image/123.png",
"https://abc.def/image/1234.png",
"https://abc.def/image/12345.png",
]