mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
Merge pull request #284 from xMohnad/manga/madara-sources
Manga/madara sources
This commit is contained in:
@@ -10,9 +10,10 @@ 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"));
|
||||||
@@ -20,9 +21,10 @@ class Madara extends MProvider {
|
|||||||
|
|
||||||
@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,7 +50,10 @@ 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[]=')}";
|
||||||
}
|
}
|
||||||
@@ -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,8 +208,7 @@ 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;
|
||||||
@@ -215,8 +219,7 @@ 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;
|
||||||
@@ -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) {
|
||||||
|
|||||||
@@ -94,6 +94,8 @@ import 'src/winterscan/winterscan.dart';
|
|||||||
import 'src/wonderlandscan/wonderlandscan.dart';
|
import 'src/wonderlandscan/wonderlandscan.dart';
|
||||||
import 'src/yuriverso/yuriverso.dart';
|
import 'src/yuriverso/yuriverso.dart';
|
||||||
import 'src/manga3asq/manga3asq.dart';
|
import 'src/manga3asq/manga3asq.dart';
|
||||||
|
import 'src/detectiveconanar/detectiveconanar.dart';
|
||||||
|
import 'src/mangaxcore/mangaxcore.dart';
|
||||||
import 'src/grabberzone/grabberzone.dart';
|
import 'src/grabberzone/grabberzone.dart';
|
||||||
import 'src/mangalink/mangalink.dart';
|
import 'src/mangalink/mangalink.dart';
|
||||||
import 'src/mangalek/mangalek.dart';
|
import 'src/mangalek/mangalek.dart';
|
||||||
@@ -379,6 +381,8 @@ List<Source> _madaraSourcesList =
|
|||||||
yuriversoSource,
|
yuriversoSource,
|
||||||
//مانجا العاشق (AR)
|
//مانجا العاشق (AR)
|
||||||
manga3asqSource,
|
manga3asqSource,
|
||||||
|
//Mangax Core (AR)
|
||||||
|
mangaxcoreSource,
|
||||||
//Grabber Zone (ALL)
|
//Grabber Zone (ALL)
|
||||||
grabberzoneSource,
|
grabberzoneSource,
|
||||||
//مانجا لينك (AR)
|
//مانجا لينك (AR)
|
||||||
@@ -397,6 +401,8 @@ List<Source> _madaraSourcesList =
|
|||||||
olaoeSource,
|
olaoeSource,
|
||||||
//Rocks Manga (AR)
|
//Rocks Manga (AR)
|
||||||
rocksmangaSource,
|
rocksmangaSource,
|
||||||
|
//شبكة كونان العربية (AR)
|
||||||
|
detectiveconanarSource,
|
||||||
//DragonTea (EN)
|
//DragonTea (EN)
|
||||||
dragonteaSource,
|
dragonteaSource,
|
||||||
//Global Bloging (EN)
|
//Global Bloging (EN)
|
||||||
@@ -563,8 +569,7 @@ List<Source> _madaraSourcesList =
|
|||||||
webtoonhattiSource,
|
webtoonhattiSource,
|
||||||
]
|
]
|
||||||
.map(
|
.map(
|
||||||
(e) =>
|
(e) => e
|
||||||
e
|
|
||||||
..itemType = ItemType.manga
|
..itemType = ItemType.manga
|
||||||
..sourceCodeUrl = madaraSourceCodeUrl
|
..sourceCodeUrl = madaraSourceCodeUrl
|
||||||
..version = madaraVersion,
|
..version = madaraVersion,
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import '../../../../../../model/source.dart';
|
||||||
|
|
||||||
|
Source get detectiveconanarSource => _detectiveconanarSource;
|
||||||
|
|
||||||
|
Source _detectiveconanarSource = Source(
|
||||||
|
name: "شبكة كونان العربية",
|
||||||
|
baseUrl: "https://manga.detectiveconanar.com",
|
||||||
|
lang: "ar",
|
||||||
|
typeSource: "madara",
|
||||||
|
iconUrl:
|
||||||
|
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/detectiveconanar/icon.png",
|
||||||
|
);
|
||||||
BIN
dart/manga/multisrc/madara/src/detectiveconanar/icon.png
Normal file
BIN
dart/manga/multisrc/madara/src/detectiveconanar/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
dart/manga/multisrc/madara/src/mangaxcore/icon.png
Normal file
BIN
dart/manga/multisrc/madara/src/mangaxcore/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
12
dart/manga/multisrc/madara/src/mangaxcore/mangaxcore.dart
Normal file
12
dart/manga/multisrc/madara/src/mangaxcore/mangaxcore.dart
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import '../../../../../../model/source.dart';
|
||||||
|
|
||||||
|
Source get mangaxcoreSource => _mangaxcoreSource;
|
||||||
|
|
||||||
|
Source _mangaxcoreSource = Source(
|
||||||
|
name: "Mangax Core",
|
||||||
|
baseUrl: "https://mangaxcore.xyz",
|
||||||
|
lang: "ar",
|
||||||
|
typeSource: "madara",
|
||||||
|
iconUrl:
|
||||||
|
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/manga/multisrc/madara/src/mangaxcore/icon.png",
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user