This commit is contained in:
kodjomoustapha
2024-01-31 13:32:53 +01:00
parent 236573c002
commit 5132ebd716
67 changed files with 482 additions and 446 deletions

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class HeanCms extends MProvider {
HeanCms();
HeanCms({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final headers = getHeader(source.baseUrl);
String res = "";
if (!useNewQueryEndpoint(source.name)) {
@@ -28,11 +30,11 @@ class HeanCms extends MProvider {
res =
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
}
return mMangaRes(res, source);
return mMangaRes(res);
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final headers = getHeader(source.baseUrl);
String res = "";
if (!useNewQueryEndpoint(source.name)) {
@@ -52,12 +54,11 @@ class HeanCms extends MProvider {
res =
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
}
return mMangaRes(res, source);
return mMangaRes(res);
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final headers = getHeader(source.baseUrl);
String res = "";
if (!useNewQueryEndpoint(source.source)) {
@@ -71,11 +72,11 @@ class HeanCms extends MProvider {
res =
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
}
return mMangaRes(res, source);
return mMangaRes(res);
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
MManga manga = MManga();
String currentSlug = substringAfterLast(url, "/");
final headers = getHeader(source.baseUrl);
@@ -131,7 +132,7 @@ class HeanCms extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final headers = getHeader(source.baseUrl);
String res = "".toString();
@@ -171,7 +172,7 @@ class HeanCms extends MProvider {
return pageUrls;
}
MPages mMangaRes(String res, MSource source) {
MPages mMangaRes(String res) {
bool hasNextPage = true;
List<MManga> mangaList = [];
List<String> names = [];
@@ -240,6 +241,6 @@ Map<String, String> getHeader(String url) {
return headers;
}
HeanCms main() {
return HeanCms();
HeanCms main(MSource source) {
return HeanCms(source: source);
}

View File

@@ -3,7 +3,7 @@ import 'src/yugenmangas/yugenmangas.dart';
import 'src/omegascans/omegascans.dart';
import 'src/perfscan/perfscan.dart';
const heancmsVersion = "0.0.65";
const heancmsVersion = "0.0.7";
const heancmsSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/heancms/heancms.dart";

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class Madara extends MProvider {
Madara();
Madara({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views")))
.body;
@@ -16,7 +18,7 @@ class Madara extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest")))
.body;
@@ -25,8 +27,7 @@ class Madara extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "${source.baseUrl}/?s=$query&post_type=wp-manga";
@@ -77,7 +78,7 @@ class Madara extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{
"OnGoing": 0,
@@ -248,7 +249,7 @@ class Madara extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res = (await client.get(Uri.parse(url))).body;
final document = parseHtml(res);
final pageElement = document.selectFirst(
@@ -298,7 +299,7 @@ class Madara extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
TextFilter("AuthorFilter", "Author"),
TextFilter("ArtistFilter", "Artist"),
@@ -334,6 +335,6 @@ class Madara extends MProvider {
}
}
Madara main() {
return Madara();
Madara main(MSource source) {
return Madara(source: source);
}

View File

@@ -164,7 +164,7 @@ import 'src/comicarab/comicarab.dart';
import 'src/manga3asq/manga3asq.dart';
import 'src/bakamh/bakamh.dart';
const madaraVersion = "0.0.8";
const madaraVersion = "0.0.85";
const madaraSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/madara/madara.dart";

View File

@@ -1,11 +1,14 @@
import 'package:mangayomi/bridge_lib.dart';
class MangaBox extends MProvider {
MangaBox();
final Client client = Client();
class MangaBox extends MProvider {
MangaBox({required this.source});
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(Uri.parse(
"${source.baseUrl}/${popularUrlPath(source.name, page)}")))
.body;
@@ -13,7 +16,7 @@ class MangaBox extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(
Uri.parse("${source.baseUrl}/${latestUrlPath(source.name, page)}")))
.body;
@@ -21,8 +24,7 @@ class MangaBox extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "";
@@ -118,7 +120,7 @@ class MangaBox extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"Ongoing": 0, "Completed": 1}
];
@@ -199,7 +201,7 @@ class MangaBox extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res = (await client.get(Uri.parse(url))).body;
List<String> pageUrls = [];
final urls = xpath(res,
@@ -297,7 +299,7 @@ class MangaBox extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
if (source.name == "Mangairo") {
return [];
}
@@ -422,6 +424,6 @@ Map<String, String> getHeader(String url) {
return headers;
}
MangaBox main() {
return MangaBox();
MangaBox main(MSource source) {
return MangaBox(source: source);
}

View File

@@ -4,7 +4,7 @@ import 'src/mangairo/mangaeiro.dart';
import 'src/mangakakalot/mangakakalot.dart';
import 'src/manganato/manganato.dart';
const mangaboxVersion = "0.0.25";
const mangaboxVersion = "0.0.3";
const mangaboxSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mangabox/mangabox.dart";

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class MangaReader extends MProvider {
MangaReader();
MangaReader({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(Uri.parse(
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=popular")))
.body;
@@ -15,7 +17,7 @@ class MangaReader extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(Uri.parse(
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=update")))
.body;
@@ -23,8 +25,7 @@ class MangaReader extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url =
@@ -71,7 +72,7 @@ class MangaReader extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{
"مستمرة": 0,
@@ -188,7 +189,7 @@ class MangaReader extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
url = getUrlWithoutDomain(url);
final res = (await client.get(Uri.parse('${source.baseUrl}$url'))).body;
@@ -251,7 +252,7 @@ class MangaReader extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
SeparatorFilter(),
TextFilter("AuthorFilter", "Author"),
@@ -316,6 +317,6 @@ class MangaReader extends MProvider {
}
}
MangaReader main() {
return MangaReader();
MangaReader main(MSource source) {
return MangaReader(source: source);
}

View File

@@ -39,7 +39,7 @@ import 'src/turktoon/turktoon.dart';
import 'src/uzaymanga/uzaymanga.dart';
import 'src/xcalibrscans/xcalibrscans.dart';
const mangareaderVersion = "0.0.8";
const mangareaderVersion = "0.0.85";
const mangareaderSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mangareader/mangareader.dart";

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class MMRCMS extends MProvider {
MMRCMS();
MMRCMS({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(Uri.parse(
"${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false")))
.body;
@@ -38,7 +40,7 @@ class MMRCMS extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client
.get(Uri.parse("${source.baseUrl}/latest-release?page=$page")))
.body;
@@ -69,8 +71,7 @@ class MMRCMS extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "";
if (query.isNotEmpty) {
@@ -152,7 +153,7 @@ class MMRCMS extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{
"complete": 1,
@@ -214,7 +215,7 @@ class MMRCMS extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res = (await client.get(Uri.parse(url))).body;
List<String> pagesUrl = [];
@@ -231,7 +232,7 @@ class MMRCMS extends MProvider {
return pagesUrl;
}
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
HeaderFilter("NOTE: Ignored if using text search!"),
SeparatorFilter(),
@@ -317,6 +318,6 @@ class MMRCMS extends MProvider {
}
}
MMRCMS main() {
return MMRCMS();
MMRCMS main(MSource source) {
return MMRCMS(source: source);
}

View File

@@ -8,7 +8,7 @@ import 'src/readcomicsonline/readcomicsonline.dart';
import 'src/lelscanvf/lelscanvf.dart';
import 'src/mangafr/mangafr.dart';
const mmrcmsVersion = "0.0.55";
const mmrcmsVersion = "0.0.6";
const mmrcmsSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mmrcms/mmrcms.dart";

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class NepNep extends MProvider {
NepNep();
NepNep({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
final directory = directoryFromDocument(res);
final resSort = sortMapList(json.decode(directory), "vm", 1);
@@ -16,7 +18,7 @@ class NepNep extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
final directory = directoryFromDocument(res);
final resSort = sortMapList(json.decode(directory), "lt", 1);
@@ -25,8 +27,7 @@ class NepNep extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
List<dynamic> queryRes = [];
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
@@ -137,7 +138,7 @@ class NepNep extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"Ongoing": 0, "Completed": 1, "Cancelled": 3, "Hiatus": 2}
];
@@ -189,7 +190,7 @@ class NepNep extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final headers = getHeader(source.baseUrl);
List<String> pages = [];
final res =
@@ -306,7 +307,7 @@ class NepNep extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
TextFilter("YearFilter", "Years"),
TextFilter("AuthorFilter", "Author"),
@@ -405,6 +406,6 @@ Map<String, String> getHeader(String url) {
return headers;
}
NepNep main() {
return NepNep();
NepNep main(MSource source) {
return NepNep(source: source);
}

View File

@@ -3,7 +3,7 @@ import '../../../model/source.dart';
import 'src/mangasee/mangasee.dart';
import 'src/mangalife/mangalife.dart';
const nepnepVersion = "0.0.55";
const nepnepVersion = "0.0.6";
const nepnepSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/nepnep/nepnep.dart";

View File

@@ -2,27 +2,28 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class Batoto extends MProvider {
Batoto();
Batoto({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = await client.get(Uri.parse(
"${preferenceMirror(source.id)}/browse?${lang(source.lang)}&sort=views_a&page=$page"));
return mangaElementM(res.body, source);
return mangaElementM(res.body);
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = await client.get(Uri.parse(
"${preferenceMirror(source.id)}/browse?${lang(source.lang)}&sort=update&page=$page"));
return mangaElementM(res.body, source);
return mangaElementM(res.body);
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "";
String min = "";
@@ -99,11 +100,11 @@ class Batoto extends MProvider {
}
final res = await client.get(Uri.parse(url));
return mangaElementM(res.body, source);
return mangaElementM(res.body);
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"Ongoing": 0, "Completed": 1, "Cancelled": 3, "Hiatus": 2}
];
@@ -161,7 +162,7 @@ class Batoto extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res =
(await client.get(Uri.parse("${preferenceMirror(source.id)}$url")))
.body;
@@ -190,7 +191,7 @@ class Batoto extends MProvider {
return pagesUrl;
}
MPages mangaElementM(String res, MSource source) async {
MPages mangaElementM(String res) async {
final lang = source.lang.replaceAll("-", "_");
final mangaElements = parseHtml(res).select("div#series-list div.col");
@@ -230,7 +231,7 @@ class Batoto extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
SelectFilter("LetterFilter", "Letter matching mode (Slow)", 0, [
SelectFilterOption("Disabled", "disabled"),
@@ -1622,7 +1623,7 @@ class Batoto extends MProvider {
}
@override
List<dynamic> getSourcePreferences(MSource source) {
List<dynamic> getSourcePreferences() {
return [
ListPreference(
key: "mirror",
@@ -1667,6 +1668,6 @@ class Batoto extends MProvider {
}
}
Batoto main() {
return Batoto();
Batoto main(MSource source) {
return Batoto(source: source);
}

View File

@@ -1,6 +1,6 @@
import '../../../../model/source.dart';
const _batotoVersion = "0.0.6";
const _batotoVersion = "0.0.65";
const _batotoSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/src/all/batoto/batoto.dart";

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class ComickFun extends MProvider {
ComickFun();
ComickFun({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(
Uri.parse(
"${source.apiUrl}/v1.0/search?sort=follow&page=$page&tachiyomi=true"),
@@ -17,7 +19,7 @@ class ComickFun extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(
Uri.parse(
"${source.apiUrl}/v1.0/search?sort=uploaded&page=$page&tachiyomi=true"),
@@ -27,8 +29,7 @@ class ComickFun extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "";
if (query.isNotEmpty) {
@@ -112,7 +113,7 @@ class ComickFun extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"1": 0, "2": 1, "3": 3, "4": 2}
];
@@ -187,7 +188,7 @@ class ComickFun extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res = (await client.get(
Uri.parse("${source.apiUrl}/chapter/$url?tachiyomi=true"),
headers: getHeader(url)))
@@ -224,7 +225,7 @@ class ComickFun extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
HeaderFilter("The filter is ignored when using text search."),
GroupFilter("GenreFilter", "Genre", [
@@ -652,6 +653,6 @@ Map<String, String> getHeader(String url) {
return headers;
}
ComickFun main() {
return ComickFun();
ComickFun main(MSource source) {
return ComickFun(source: source);
}

View File

@@ -1,6 +1,6 @@
import '../../../../model/source.dart';
const _comickVersion = "0.0.6";
const _comickVersion = "0.0.65";
const _comickSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/src/all/comick/comick.dart";

View File

@@ -2,21 +2,23 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class MangaDex extends MProvider {
MangaDex();
MangaDex({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
page = (20 * (page - 1));
final url =
"https://api.mangadex.org/manga?limit=20&offset=$page&availableTranslatedLanguage[]=${source.lang}&includes[]=cover_art${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}&order[followedCount]=desc";
final res = (await client.get(Uri.parse(url))).body;
return mangaRes(res, source);
return mangaRes(res);
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
page = (20 * (page - 1));
final url =
"https://api.mangadex.org/chapter?limit=20&offset=$page&translatedLanguage[]=${source.lang}&includeFutureUpdates=0&order[publishAt]=desc&includeFuturePublishAt=0&includeEmptyPages=0";
@@ -31,12 +33,11 @@ class MangaDex extends MProvider {
final newUrl =
"https://api.mangadex.org/manga?includes[]=cover_art&limit=${mangaIds.length}${preferenceContentRating(source.id)}${preferenceOriginalLanguages(source.id)}$mangaIdss";
final res = (await client.get(Uri.parse(newUrl))).body;
return mangaRes(res, source);
return mangaRes(res);
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
page = (20 * (page - 1));
final filters = filterList.filters;
String url = "";
@@ -140,11 +141,11 @@ class MangaDex extends MProvider {
}
final res = (await client.get(Uri.parse(url))).body;
return mangaRes(res, source);
return mangaRes(res);
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"ongoing": 0, "completed": 1, "hiatus": 2, "cancelled": 3}
];
@@ -222,7 +223,7 @@ class MangaDex extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final res = (await client
.get(Uri.parse("https://api.mangadex.org/at-home/server/$url")))
.body;
@@ -235,7 +236,7 @@ class MangaDex extends MProvider {
return chapterDatas.map((e) => "$host/data/$hash/$e").toList();
}
MPages mangaRes(String res, MSource source) {
MPages mangaRes(String res) {
final datasRes = getMapValue(res, "data", encode: true);
final resJson = json.decode(datasRes) as List;
@@ -362,7 +363,7 @@ class MangaDex extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
CheckBoxFilter(
"Has available chapters", "", "HasAvailableChaptersFilter"),
@@ -505,7 +506,7 @@ class MangaDex extends MProvider {
}
@override
List<dynamic> getSourcePreferences(MSource source) {
List<dynamic> getSourcePreferences() {
return [
ListPreference(
key: "cover_quality",
@@ -589,6 +590,6 @@ class MangaDex extends MProvider {
}
}
MangaDex main() {
return MangaDex();
MangaDex main(MSource source) {
return MangaDex(source: source);
}

View File

@@ -3,7 +3,7 @@ import '../../../../model/source.dart';
const _apiUrl = 'https://api.mangadex.org';
const _baseUrl = 'https://mangadex.org';
const _isNsfw = true;
const _mangadexVersion = "0.0.65";
const _mangadexVersion = "0.0.7";
const _mangadexSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/src/all/mangadex/mangadex.dart";
String _iconUrl =

View File

@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
import 'dart:convert';
class MangaHere extends MProvider {
MangaHere();
MangaHere({required this.source});
final Client client = Client();
MSource source;
final Client client = Client(source);
@override
Future<MPages> getPopular(MSource source, int page) async {
Future<MPages> getPopular(int page) async {
final res = (await client.get(
Uri.parse("${source.baseUrl}/directory/$page.htm"),
headers: getHeader(source.baseUrl)))
@@ -33,7 +35,7 @@ class MangaHere extends MProvider {
}
@override
Future<MPages> getLatestUpdates(MSource source, int page) async {
Future<MPages> getLatestUpdates(int page) async {
final res = (await client.get(
Uri.parse("${source.baseUrl}/directory/$page.htm?latest"),
headers: getHeader(source.baseUrl)))
@@ -59,8 +61,7 @@ class MangaHere extends MProvider {
}
@override
Future<MPages> search(
MSource source, String query, int page, FilterList filterList) async {
Future<MPages> search(String query, int page, FilterList filterList) async {
final filters = filterList.filters;
String url = "${source.baseUrl}/search";
@@ -130,7 +131,7 @@ class MangaHere extends MProvider {
}
@override
Future<MManga> getDetail(MSource source, String url) async {
Future<MManga> getDetail(String url) async {
final statusList = [
{"Ongoing": 0, "Completed": 1}
];
@@ -168,7 +169,7 @@ class MangaHere extends MProvider {
}
@override
Future<List<String>> getPageList(MSource source, String url) async {
Future<List<String>> getPageList(String url) async {
final headers = getHeader(source.baseUrl);
final urll = "${source.baseUrl}$url";
final res = (await client.get(Uri.parse(urll), headers: headers)).body;
@@ -259,7 +260,7 @@ class MangaHere extends MProvider {
}
@override
List<dynamic> getFilterList(MSource source) {
List<dynamic> getFilterList() {
return [
SelectFilter("TypeList", "Type", 1, [
SelectFilterOption("American Manga", "5"),
@@ -335,6 +336,6 @@ Map<String, String> getHeader(String url) {
return headers;
}
MangaHere main() {
return MangaHere();
MangaHere main(MSource source) {
return MangaHere(source: source);
}

View File

@@ -1,7 +1,7 @@
import '../../../../model/source.dart';
Source get mangahereSource => _mangahereSource;
const _mangahereVersion = "0.0.6";
const _mangahereVersion = "0.0.65";
const _mangahereSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/src/en/mangahere/mangahere.dart";
Source _mangahereSource = Source(