mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
madara: use "works" instead of "manga" in URL for specific sources
This commit is contained in:
@@ -10,20 +10,22 @@ class Madara extends MProvider {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future<MPages> getPopular(int page) async {
|
Future<MPages> getPopular(int page) async {
|
||||||
final res =
|
final res = (await client.get(
|
||||||
(await client.get(
|
Uri.parse(
|
||||||
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views"),
|
"${source.baseUrl}/${getMangaSubString()}/page/$page/?m_orderby=views",
|
||||||
)).body;
|
),
|
||||||
|
)).body;
|
||||||
final document = parseHtml(res);
|
final document = parseHtml(res);
|
||||||
return mangaFromElements(document.select("div.page-item-detail"));
|
return mangaFromElements(document.select("div.page-item-detail"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<MPages> getLatestUpdates(int page) async {
|
Future<MPages> getLatestUpdates(int page) async {
|
||||||
final res =
|
final res = (await client.get(
|
||||||
(await client.get(
|
Uri.parse(
|
||||||
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest"),
|
"${source.baseUrl}/${getMangaSubString()}/page/$page/?m_orderby=latest",
|
||||||
)).body;
|
),
|
||||||
|
)).body;
|
||||||
final document = parseHtml(res);
|
final document = parseHtml(res);
|
||||||
return mangaFromElements(document.select("div.page-item-detail"));
|
return mangaFromElements(document.select("div.page-item-detail"));
|
||||||
}
|
}
|
||||||
@@ -48,9 +50,12 @@ class Madara extends MProvider {
|
|||||||
url += "${ll(url)}release=${Uri.encodeComponent(filter.state)}";
|
url += "${ll(url)}release=${Uri.encodeComponent(filter.state)}";
|
||||||
}
|
}
|
||||||
} else if (filter.type == "StatusFilter") {
|
} else if (filter.type == "StatusFilter") {
|
||||||
List<String> status = filter.state.where((item) => item.state).map((item) => item.value.toString()).toList();
|
List<String> status = filter.state
|
||||||
|
.where((item) => item.state)
|
||||||
|
.map((item) => item.value.toString())
|
||||||
|
.toList();
|
||||||
if (status.isNotEmpty) {
|
if (status.isNotEmpty) {
|
||||||
url += "${ll(url)}status[]=${status.join('&status[]=')}";
|
url += "${ll(url)}status[]=${status.join('&status[]=')}";
|
||||||
}
|
}
|
||||||
} else if (filter.type == "OrderByFilter") {
|
} else if (filter.type == "OrderByFilter") {
|
||||||
if (filter.state != 0) {
|
if (filter.state != 0) {
|
||||||
@@ -101,8 +106,8 @@ class Madara extends MProvider {
|
|||||||
);
|
);
|
||||||
chapter.dateUpload = dates[0];
|
chapter.dateUpload = dates[0];
|
||||||
} else {
|
} else {
|
||||||
chapter.dateUpload =
|
chapter.dateUpload = DateTime.now().millisecondsSinceEpoch
|
||||||
DateTime.now().millisecondsSinceEpoch.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chapters.add(chapter);
|
chapters.add(chapter);
|
||||||
@@ -203,11 +208,10 @@ class Madara extends MProvider {
|
|||||||
body: {"action": "manga_get_chapters", "manga": mangaId},
|
body: {"action": "manga_get_chapters", "manga": mangaId},
|
||||||
);
|
);
|
||||||
if (oldXhrChaptersRequest.statusCode == 400) {
|
if (oldXhrChaptersRequest.statusCode == 400) {
|
||||||
res =
|
res = (await client.post(
|
||||||
(await client.post(
|
Uri.parse("${url}ajax/chapters"),
|
||||||
Uri.parse("${url}ajax/chapters"),
|
headers: headers,
|
||||||
headers: headers,
|
)).body;
|
||||||
)).body;
|
|
||||||
} else {
|
} else {
|
||||||
res = oldXhrChaptersRequest.body;
|
res = oldXhrChaptersRequest.body;
|
||||||
}
|
}
|
||||||
@@ -215,11 +219,10 @@ class Madara extends MProvider {
|
|||||||
MDocument chapDoc = parseHtml(res);
|
MDocument chapDoc = parseHtml(res);
|
||||||
manga.chapters = getChapters(chapDoc);
|
manga.chapters = getChapters(chapDoc);
|
||||||
if (manga.chapters.isEmpty) {
|
if (manga.chapters.isEmpty) {
|
||||||
res =
|
res = (await client.post(
|
||||||
(await client.post(
|
Uri.parse("${url}ajax/chapters"),
|
||||||
Uri.parse("${url}ajax/chapters"),
|
headers: headers,
|
||||||
headers: headers,
|
)).body;
|
||||||
)).body;
|
|
||||||
chapDoc = parseHtml(res);
|
chapDoc = parseHtml(res);
|
||||||
manga.chapters = getChapters(chapDoc);
|
manga.chapters = getChapters(chapDoc);
|
||||||
}
|
}
|
||||||
@@ -252,8 +255,10 @@ class Madara extends MProvider {
|
|||||||
List<String> pageUrls = [];
|
List<String> pageUrls = [];
|
||||||
|
|
||||||
if (imgs.length == 1) {
|
if (imgs.length == 1) {
|
||||||
final pagesNumber =
|
final pagesNumber = document
|
||||||
document.selectFirst("#single-pager").select("option").length;
|
.selectFirst("#single-pager")
|
||||||
|
.select("option")
|
||||||
|
.length;
|
||||||
final imgUrl = imgs.first;
|
final imgUrl = imgs.first;
|
||||||
for (var i = 0; i < pagesNumber; i++) {
|
for (var i = 0; i < pagesNumber; i++) {
|
||||||
final val = i + 1;
|
final val = i + 1;
|
||||||
@@ -326,6 +331,11 @@ class Madara extends MProvider {
|
|||||||
}
|
}
|
||||||
return "?";
|
return "?";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getMangaSubString() {
|
||||||
|
const worksSources = {"Olaoe", "Mangax Core"};
|
||||||
|
return worksSources.contains(source.name) ? "works" : "manga";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Madara main(MSource source) {
|
Madara main(MSource source) {
|
||||||
|
|||||||
Reference in New Issue
Block a user