mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-15 11:21:11 +00:00
Refactor
This commit is contained in:
@@ -4,6 +4,8 @@ import 'dart:convert';
|
||||
class HeanCms extends MProvider {
|
||||
HeanCms();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final headers = getHeader(source.baseUrl);
|
||||
@@ -18,14 +20,13 @@ class HeanCms extends MProvider {
|
||||
"series_status": "Ongoing",
|
||||
"series_type": "Comic"
|
||||
};
|
||||
final data = {"url": url, "headers": headers, "body": body};
|
||||
res = await http('POST', json.encode(data));
|
||||
res = (await client.post(Uri.parse(url), headers: headers, body: body))
|
||||
.body;
|
||||
} else {
|
||||
final newEndpointUrl =
|
||||
"${source.apiUrl}/query/?page=$page&query_string=&series_status=All&order=desc&orderBy=total_views&perPage=12&tags_ids=[]&series_type=Comic";
|
||||
|
||||
final newEndpointData = {"url": newEndpointUrl, "headers": headers};
|
||||
res = await http('GET', json.encode(newEndpointData));
|
||||
res =
|
||||
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
|
||||
}
|
||||
return mMangaRes(res, source);
|
||||
}
|
||||
@@ -43,14 +44,13 @@ class HeanCms extends MProvider {
|
||||
"series_status": "Ongoing",
|
||||
"series_type": "Comic"
|
||||
};
|
||||
final data = {"url": url, "headers": headers, "body": body};
|
||||
res = await http('POST', json.encode(data));
|
||||
res = (await client.post(Uri.parse(url), headers: headers, body: body))
|
||||
.body;
|
||||
} else {
|
||||
final newEndpointUrl =
|
||||
"${source.apiUrl}/query/?page=$page&query_string=&series_status=All&order=desc&orderBy=latest&perPage=12&tags_ids=[]&series_type=Comic";
|
||||
|
||||
final newEndpointData = {"url": newEndpointUrl, "headers": headers};
|
||||
res = await http('GET', json.encode(newEndpointData));
|
||||
res =
|
||||
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
|
||||
}
|
||||
return mMangaRes(res, source);
|
||||
}
|
||||
@@ -63,14 +63,13 @@ class HeanCms extends MProvider {
|
||||
if (!useNewQueryEndpoint(source.source)) {
|
||||
final url = "${source.apiUrl}/series/search";
|
||||
final body = {"term": query};
|
||||
final data = {"url": url, "headers": headers, "body": body};
|
||||
res = await http('POST', json.encode(data));
|
||||
res = (await client.post(Uri.parse(url), headers: headers, body: body))
|
||||
.body;
|
||||
} else {
|
||||
final newEndpointUrl =
|
||||
"${source.apiUrl}/query/?page=$page&query_string=$query&series_status=All&order=desc&orderBy=total_views&perPage=12&tags_ids=[]&series_type=Comic";
|
||||
|
||||
final newEndpointData = {"url": newEndpointUrl, "headers": headers};
|
||||
res = await http('GET', json.encode(newEndpointData));
|
||||
res =
|
||||
(await client.get(Uri.parse(newEndpointUrl), headers: headers)).body;
|
||||
}
|
||||
return mMangaRes(res, source);
|
||||
}
|
||||
@@ -80,11 +79,10 @@ class HeanCms extends MProvider {
|
||||
MManga manga = MManga();
|
||||
String currentSlug = substringAfterLast(url, "/");
|
||||
final headers = getHeader(source.baseUrl);
|
||||
final data = {
|
||||
"url": "${source.apiUrl}/series/$currentSlug",
|
||||
"headers": headers
|
||||
};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(
|
||||
Uri.parse("${source.apiUrl}/series/$currentSlug"),
|
||||
headers: headers))
|
||||
.body;
|
||||
manga.author = getMapValue(res, "author");
|
||||
manga.description = getMapValue(res, "description");
|
||||
manga.genre = jsonPathToString(res, r"$.tags[*].name", "._").split("._");
|
||||
@@ -138,14 +136,14 @@ class HeanCms extends MProvider {
|
||||
String res = "".toString();
|
||||
if (!useslugStrategy(source.name)) {
|
||||
String chapterId = substringAfter(url, '#');
|
||||
final data = {
|
||||
"url": "${source.apiUrl}/series/chapter/$chapterId",
|
||||
"headers": headers
|
||||
};
|
||||
res = await http('GET', json.encode(data));
|
||||
res = (await client.get(
|
||||
Uri.parse("${source.apiUrl}/series/chapter/$chapterId"),
|
||||
headers: headers))
|
||||
.body;
|
||||
} else {
|
||||
final data = {"url": "${source.baseUrl}$url", "headers": headers};
|
||||
res = await http('GET', json.encode(data));
|
||||
res = (await client.get(Uri.parse("${source.baseUrl}$url"),
|
||||
headers: headers))
|
||||
.body;
|
||||
|
||||
List<String> pageUrls = [];
|
||||
var imagesRes = parseHtml(res)
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'src/yugenmangas/yugenmangas.dart';
|
||||
import 'src/omegascans/omegascans.dart';
|
||||
import 'src/perfscan/perfscan.dart';
|
||||
|
||||
const heancmsVersion = "0.0.5";
|
||||
const heancmsVersion = "0.0.55";
|
||||
const heancmsSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/heancms/heancms.dart";
|
||||
|
||||
|
||||
@@ -4,20 +4,22 @@ import 'dart:convert';
|
||||
class Madara extends MProvider {
|
||||
Madara();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final url = "${source.baseUrl}/manga/page/$page/?m_orderby=views";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(
|
||||
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=views")))
|
||||
.body;
|
||||
final document = parseHtml(res);
|
||||
return mangaFromElements(document.select("div.page-item-detail"));
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
final url = "${source.baseUrl}/manga/page/$page/?m_orderby=latest";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(
|
||||
Uri.parse("${source.baseUrl}/manga/page/$page/?m_orderby=latest")))
|
||||
.body;
|
||||
final document = parseHtml(res);
|
||||
return mangaFromElements(document.select("div.page-item-detail"));
|
||||
}
|
||||
@@ -68,8 +70,8 @@ class Madara extends MProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
final document = parseHtml(res);
|
||||
return mangaFromElements(document.select("div.c-tabs-item__content"));
|
||||
}
|
||||
@@ -122,8 +124,7 @@ class Madara extends MProvider {
|
||||
];
|
||||
MManga manga = MManga();
|
||||
String res = "";
|
||||
final datas = {"url": url, "sourceId": source.id};
|
||||
res = await http('GET', json.encode(datas));
|
||||
res = (await client.get(Uri.parse(url))).body;
|
||||
final document = parseHtml(res);
|
||||
manga.author = document.selectFirst("div.author-content > a")?.text ?? "";
|
||||
|
||||
@@ -162,14 +163,17 @@ class Madara extends MProvider {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
"X-Requested-With": "XMLHttpRequest"
|
||||
};
|
||||
final urll =
|
||||
"${baseUrl}wp-admin/admin-ajax.php?action=manga_get_chapters&manga=$mangaId";
|
||||
final datasP = {"url": urll, "headers": headers, "sourceId": source.id};
|
||||
res = await http('POST', json.encode(datasP));
|
||||
if (res == "error" || mangaId.isEmpty) {
|
||||
final urlP = "${url}ajax/chapters";
|
||||
final datasP = {"url": urlP, "headers": headers, "sourceId": source.id};
|
||||
res = await http('POST', json.encode(datasP));
|
||||
|
||||
final resP = await client.post(
|
||||
Uri.parse(
|
||||
"${baseUrl}wp-admin/admin-ajax.php?action=manga_get_chapters&manga=$mangaId"),
|
||||
headers: headers);
|
||||
if (resP != 200 || mangaId.isEmpty) {
|
||||
res = (await client.post(Uri.parse("${url}ajax/chapters"),
|
||||
headers: headers))
|
||||
.body;
|
||||
} else {
|
||||
res = resP.body;
|
||||
}
|
||||
|
||||
var chapUrls = xpath(res, '//li[@class^="wp-manga-chapter"]/a/@href');
|
||||
@@ -222,8 +226,7 @@ class Madara extends MProvider {
|
||||
|
||||
@override
|
||||
Future<List<String>> getPageList(MSource source, String url) async {
|
||||
final datas = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
final document = parseHtml(res);
|
||||
final pageElement = document.selectFirst(
|
||||
"div.page-break, li.blocks-gallery-item, .reading-content, .text-left img");
|
||||
|
||||
@@ -164,7 +164,7 @@ import 'src/comicarab/comicarab.dart';
|
||||
import 'src/manga3asq/manga3asq.dart';
|
||||
import 'src/bakamh/bakamh.dart';
|
||||
|
||||
const madaraVersion = "0.0.6";
|
||||
const madaraVersion = "0.0.65";
|
||||
const madaraSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/madara/madara.dart";
|
||||
|
||||
|
||||
@@ -4,21 +4,21 @@ import 'dart:convert';
|
||||
class MangaBox extends MProvider {
|
||||
MangaBox();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final url = "${source.baseUrl}/${popularUrlPath(source.name, page)}";
|
||||
final data = {"url": url};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(
|
||||
"${source.baseUrl}/${popularUrlPath(source.name, page)}")))
|
||||
.body;
|
||||
return mangaRes(res);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
final url = "${source.baseUrl}/${latestUrlPath(source.name, page)}";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(
|
||||
Uri.parse("${source.baseUrl}/${latestUrlPath(source.name, page)}")))
|
||||
.body;
|
||||
return mangaRes(res);
|
||||
}
|
||||
|
||||
@@ -84,8 +84,8 @@ class MangaBox extends MProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
final data = {"url": url};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
|
||||
List<MManga> mangaList = [];
|
||||
List<String> urls = [];
|
||||
@@ -125,8 +125,7 @@ class MangaBox extends MProvider {
|
||||
{"Ongoing": 0, "Completed": 1}
|
||||
];
|
||||
MManga manga = MManga();
|
||||
final datas = {"url": url};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
|
||||
List<String> author = xpath(res,
|
||||
'//*[@class="table-label" and contains(text(), "Author")]/parent::tr/td[2]/text()');
|
||||
@@ -204,8 +203,7 @@ class MangaBox extends MProvider {
|
||||
|
||||
@override
|
||||
Future<List<String>> getPageList(MSource source, String url) async {
|
||||
final datas = {"url": url};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
List<String> pageUrls = [];
|
||||
final urls = xpath(res,
|
||||
'//div[@class="container-chapter-reader" or @class="panel-read-story"]/img/@src');
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'src/mangairo/mangaeiro.dart';
|
||||
import 'src/mangakakalot/mangakakalot.dart';
|
||||
import 'src/manganato/manganato.dart';
|
||||
|
||||
const mangaboxVersion = "0.0.15";
|
||||
const mangaboxVersion = "0.0.2";
|
||||
const mangaboxSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mangabox/mangabox.dart";
|
||||
|
||||
|
||||
@@ -4,23 +4,21 @@ import 'dart:convert';
|
||||
class MangaReader extends MProvider {
|
||||
MangaReader();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final url =
|
||||
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=popular";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(
|
||||
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=popular")))
|
||||
.body;
|
||||
return mangaRes(res);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
final url =
|
||||
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=update";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(
|
||||
"${source.baseUrl}${getMangaUrlDirectory(source.name)}/?page=$page&order=update")))
|
||||
.body;
|
||||
return mangaRes(res);
|
||||
}
|
||||
|
||||
@@ -68,9 +66,7 @@ class MangaReader extends MProvider {
|
||||
}
|
||||
}
|
||||
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
return mangaRes(res);
|
||||
}
|
||||
|
||||
@@ -129,9 +125,8 @@ class MangaReader extends MProvider {
|
||||
];
|
||||
url = getUrlWithoutDomain(url);
|
||||
MManga manga = MManga();
|
||||
final datas = {"url": "${source.baseUrl}$url", "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
|
||||
final res = (await client.get(Uri.parse("${source.baseUrl}$url"))).body;
|
||||
List<String> author = xpath(
|
||||
res,
|
||||
"//table[contains(@class, 'infotable')]//tr[contains(text(), 'Author')]/td[last()]/text() | //div[contains(@class, 'tsinfo')]//div[contains(@class, 'imptdt') and contains(text(), 'Author')]//i/text() | //div[contains(@class, 'fmed')]//b[contains(text(), 'Author')]/following-sibling::span[1]/text() | //span[contains(text(), 'Author')]/text()",
|
||||
@@ -195,8 +190,7 @@ class MangaReader extends MProvider {
|
||||
@override
|
||||
Future<List<String>> getPageList(MSource source, String url) async {
|
||||
url = getUrlWithoutDomain(url);
|
||||
final datas = {"url": '${source.baseUrl}$url', "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse('${source.baseUrl}$url'))).body;
|
||||
|
||||
List<String> pages = [];
|
||||
List<String> pagesUrl = [];
|
||||
|
||||
@@ -39,7 +39,7 @@ import 'src/turktoon/turktoon.dart';
|
||||
import 'src/uzaymanga/uzaymanga.dart';
|
||||
import 'src/xcalibrscans/xcalibrscans.dart';
|
||||
|
||||
const mangareaderVersion = "0.0.75";
|
||||
const mangareaderVersion = "0.0.8";
|
||||
const mangareaderSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mangareader/mangareader.dart";
|
||||
|
||||
|
||||
@@ -4,12 +4,13 @@ import 'dart:convert';
|
||||
class MMRCMS extends MProvider {
|
||||
MMRCMS();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final url =
|
||||
"${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(Uri.parse(
|
||||
"${source.baseUrl}/filterList?page=$page&sortBy=views&asc=false")))
|
||||
.body;
|
||||
|
||||
List<MManga> mangaList = [];
|
||||
final urls = xpath(res, '//*[ @class="chart-title"]/@href');
|
||||
@@ -38,9 +39,9 @@ class MMRCMS extends MProvider {
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
final url = "${source.baseUrl}/latest-release?page=$page";
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client
|
||||
.get(Uri.parse("${source.baseUrl}/latest-release?page=$page")))
|
||||
.body;
|
||||
|
||||
List<MManga> mangaList = [];
|
||||
final urls = xpath(res, '//*[@class="manga-item"]/h3/a/@href');
|
||||
@@ -96,8 +97,8 @@ class MMRCMS extends MProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
final data = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
|
||||
List<MManga> mangaList = [];
|
||||
|
||||
@@ -170,8 +171,7 @@ class MMRCMS extends MProvider {
|
||||
}
|
||||
];
|
||||
MManga manga = MManga();
|
||||
final datas = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
|
||||
final author = xpath(res,
|
||||
'//*[@class="dl-horizontal"]/dt[contains(text(), "Auteur(s)") or contains(text(), "Author(s)") or contains(text(), "Autor(es)") or contains(text(), "Yazar(lar) or contains(text(), "Mangaka(lar)")]//following-sibling::dd[1]/text()');
|
||||
@@ -215,8 +215,7 @@ class MMRCMS extends MProvider {
|
||||
|
||||
@override
|
||||
Future<List<String>> getPageList(MSource source, String url) async {
|
||||
final datas = {"url": url, "sourceId": source.id};
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final res = (await client.get(Uri.parse(url))).body;
|
||||
|
||||
List<String> pagesUrl = [];
|
||||
final pages =
|
||||
|
||||
@@ -8,7 +8,7 @@ import 'src/readcomicsonline/readcomicsonline.dart';
|
||||
import 'src/lelscanvf/lelscanvf.dart';
|
||||
import 'src/mangafr/mangafr.dart';
|
||||
|
||||
const mmrcmsVersion = "0.0.5";
|
||||
const mmrcmsVersion = "0.0.55";
|
||||
const mmrcmsSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/mmrcms/mmrcms.dart";
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ import 'dart:convert';
|
||||
class NepNep extends MProvider {
|
||||
NepNep();
|
||||
|
||||
final Client client = Client();
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
final data = {"url": "${source.baseUrl}/search/"};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
|
||||
final directory = directoryFromDocument(res);
|
||||
final resSort = sortMapList(json.decode(directory), "vm", 1);
|
||||
|
||||
@@ -17,9 +17,7 @@ class NepNep extends MProvider {
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
final data = {"url": "${source.baseUrl}/search/"};
|
||||
final res = await http('GET', json.encode(data));
|
||||
|
||||
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
|
||||
final directory = directoryFromDocument(res);
|
||||
final resSort = sortMapList(json.decode(directory), "lt", 1);
|
||||
|
||||
@@ -31,8 +29,7 @@ class NepNep extends MProvider {
|
||||
MSource source, String query, int page, FilterList filterList) async {
|
||||
final filters = filterList.filters;
|
||||
List<dynamic> queryRes = [];
|
||||
final data = {"url": "${source.baseUrl}/search/"};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(Uri.parse("${source.baseUrl}/search/"))).body;
|
||||
|
||||
final directory = directoryFromDocument(res);
|
||||
final resSort = sortMapList(json.decode(directory), "lt", 1);
|
||||
@@ -145,8 +142,9 @@ class NepNep extends MProvider {
|
||||
{"Ongoing": 0, "Completed": 1, "Cancelled": 3, "Hiatus": 2}
|
||||
];
|
||||
final headers = getHeader(source.baseUrl);
|
||||
final data = {"url": '${source.baseUrl}/manga/$url', "headers": headers};
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res = (await client.get(Uri.parse('${source.baseUrl}/manga/$url'),
|
||||
headers: headers))
|
||||
.body;
|
||||
MManga manga = MManga();
|
||||
manga.author = xpath(res,
|
||||
'//li[contains(@class,"list-group-item") and contains(text(),"Author")]/a/text()')
|
||||
@@ -194,9 +192,9 @@ class NepNep extends MProvider {
|
||||
Future<List<String>> getPageList(MSource source, String url) async {
|
||||
final headers = getHeader(source.baseUrl);
|
||||
List<String> pages = [];
|
||||
final data = {"url": '${source.baseUrl}$url', "headers": headers};
|
||||
print(data);
|
||||
final res = await http('GET', json.encode(data));
|
||||
final res =
|
||||
(await client.get(Uri.parse('${source.baseUrl}$url'), headers: headers))
|
||||
.body;
|
||||
final script =
|
||||
xpath(res, '//script[contains(text(), "MainFunction")]/text()').first;
|
||||
final chapScript =
|
||||
|
||||
@@ -3,7 +3,7 @@ import '../../../model/source.dart';
|
||||
import 'src/mangasee/mangasee.dart';
|
||||
import 'src/mangalife/mangalife.dart';
|
||||
|
||||
const nepnepVersion = "0.0.5";
|
||||
const nepnepVersion = "0.0.55";
|
||||
const nepnepSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/manga/multisrc/nepnep/nepnep.dart";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user