Merge pull request #273 from xMohnad/manga/oduto

New Manga Source: Oduto - Boruto
This commit is contained in:
Moustapha Kodjo Amadou
2025-06-05 13:31:47 +01:00
committed by GitHub

View File

@@ -0,0 +1,94 @@
// prettier-ignore
const mangayomiSources = [{
"name": "Oduto - Boruto",
"lang": "ar",
"baseUrl": "https://nb19u.blogspot.com",
"apiUrl": "",
"iconUrl": "https://blogger.googleusercontent.com/img/a/AVvXsEgKFmNQCUC7ARtXurDIwfOimVn3wogUvH7VaUOfjdutG44-cT4ajgh0KYkqSbRIoQ0b8YG3H6Edx-y1O3GW5SL88jymLZsO6cmS0QRtsp1y4gc24vmF4OGqyIY3PYSjxUYR1iJ5J-sP-00A7NwhNa19SPc0R_62KcuG6dbu2Rg-2YiMV1uUgaB0DGB6IBY_=s1600",
"typeSource": "single",
"itemType": 0,
"version": "0.0.1",
"isNsfw": false,
"pkgPath": "manga/src/ar/oduto.js",
"notes": "This Source Just For Boruto"
}];
class DefaultExtension extends MProvider {
async request(slug) {
this.client ??= new Client();
const res = await this.client.get(slug);
return new Document(res.body);
}
getPopular(_) {
return {
list: [
{
name: "BORUTO: Two Blue Vortex",
imageUrl:
"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggWB9vWPMqjEvIoDsJSO29OmW-srULDQD3cS9HJ8cDk0vq2jLwDerUX-i61CqmZf62eBVmWZwU5CgXi0p2lxhKrh2_nZum3p-k3q9QJ2uozove0QAbOKtbd1QPjytjrJc9UsL65X4BbFdgcicLDYubD9LgY1Kco8wyhDGm4YEOim8u1TL42gOFe16NaaEP/s3464/4D55C3C5-9168-4103-B45C-99B52B58B6A5.jpeg",
link: "https://nb19u.blogspot.com/search/label/%D9%85%D8%A7%D9%86%D8%AC%D8%A7%20%D8%A8%D9%88%D8%B1%D9%88%D8%AA%D9%88?&max-results=4&m=1",
},
],
hasNextPage: false,
};
}
getLatestUpdates(_) {
return this.getPopular();
}
// Chapters
chapterFromElement(element) {
const anchor = element.selectFirst("div.iPostInfoWrap > h3 > a");
const timeElement = element.selectFirst("div.iPostInfoWrap time");
if (!anchor || !timeElement) return {};
const name = anchor.text?.trim();
const url = anchor.getHref;
const rawDate = timeElement.attr("datetime")?.trim();
const dateUpload = rawDate ? new Date(rawDate).getTime().toString() : null;
return { name, dateUpload, url };
}
// Detail
async getDetail(url) {
let doc = await this.request(url);
const allElements = [];
for (;;) {
const pageChapters = doc.select("#Blog1 article.blog-post.index-post");
if (!pageChapters || pageChapters.length === 0) break;
allElements.push(...pageChapters);
const nextUrl = doc
.selectFirst("#Blog1 > div.iPostsNavigation > button[data-load]")
.attr("data-load");
if (!nextUrl || nextUrl.length === 0) break;
doc = await this.request(nextUrl);
}
const chapters = allElements.map((element) =>
this.chapterFromElement(element),
);
return {
title: "BORUTO: Two Blue Vortex",
imageUrl:
"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggWB9vWPMqjEvIoDsJSO29OmW-srULDQD3cS9HJ8cDk0vq2jLwDerUX-i61CqmZf62eBVmWZwU5CgXi0p2lxhKrh2_nZum3p-k3q9QJ2uozove0QAbOKtbd1QPjytjrJc9UsL65X4BbFdgcicLDYubD9LgY1Kco8wyhDGm4YEOim8u1TL42gOFe16NaaEP/s3464/4D55C3C5-9168-4103-B45C-99B52B58B6A5.jpeg",
author: "Masashi Kishimoto",
description: "Artist: Mikio Ikemoto",
status: 0,
genre: ["شونين", "دراما", "خيال", "أكشن", "نينجا"],
chapters,
};
}
// chapter pages
async getPageList(url) {
const doc = await this.request(url);
return doc.select("div.#post-body img[src]").map((x) => ({
url: x.attr("src"),
}));
}
}