mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
Merge pull request #273 from xMohnad/manga/oduto
New Manga Source: Oduto - Boruto
This commit is contained in:
94
javascript/manga/src/ar/oduto.js
Normal file
94
javascript/manga/src/ar/oduto.js
Normal 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"),
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user