mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 19:01:15 +00:00
Refactor
This commit is contained in:
@@ -145,13 +145,10 @@ class DataLifeEngine extends MProvider {
|
||||
}
|
||||
|
||||
MPages animeFromElement(String res, String baseUrl) {
|
||||
final htmls = querySelectorAll(res,
|
||||
selector: "div#dle-content > div.mov",
|
||||
typeElement: 1,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
final htmls = parseHtml(res).select("div#dle-content > div.mov");
|
||||
List<MManga> animeList = [];
|
||||
for (var html in htmls) {
|
||||
for (var h in htmls) {
|
||||
final html = h.innerHtml;
|
||||
final url = xpath(html, '//a/@href').first;
|
||||
final name = xpath(html, '//a/text()').first;
|
||||
final image = xpath(html, '//div[contains(@class,"mov")]/img/@src').first;
|
||||
|
||||
@@ -121,14 +121,11 @@ class DopeFlix extends MProvider {
|
||||
"${preferenceBaseUrl(source.id)}/ajax/v2/season/episodes/$seasonId"
|
||||
};
|
||||
final html = await http('GET', json.encode(dataE));
|
||||
final epsHtml = querySelectorAll(html,
|
||||
selector: "div.eps-item",
|
||||
typeElement: 2,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
print(
|
||||
"${preferenceBaseUrl(source.id)}/ajax/v2/season/episodes/$seasonId");
|
||||
for (var epHtml in epsHtml) {
|
||||
|
||||
final epsHtmls = parseHtml(html).select("div.eps-item");
|
||||
|
||||
for (var epH in epsHtmls) {
|
||||
final epHtml = epH.outerHtml;
|
||||
final episodeId =
|
||||
xpath(epHtml, '//div[contains(@class,"eps-item")]/@data-id')
|
||||
.first;
|
||||
@@ -152,13 +149,11 @@ class DopeFlix extends MProvider {
|
||||
url = Uri.parse(url).path;
|
||||
final res = await http(
|
||||
'GET', json.encode({"url": "${preferenceBaseUrl(source.id)}/$url"}));
|
||||
final vidsHtml = querySelectorAll(res,
|
||||
selector: "ul.fss-list a.btn-play",
|
||||
typeElement: 2,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
final vidsHtmls = parseHtml(res).select("ul.fss-list a.btn-play");
|
||||
|
||||
List<MVideo> videos = [];
|
||||
for (var vidHtml in vidsHtml) {
|
||||
for (var vidH in vidsHtmls) {
|
||||
final vidHtml = vidH.outerHtml;
|
||||
final id = xpath(vidHtml, '//a/@data-id').first;
|
||||
final name = xpath(vidHtml, '//span/text()').first;
|
||||
final resSource = await http(
|
||||
|
||||
@@ -155,36 +155,17 @@ class ZoroTheme extends MProvider {
|
||||
final resEp = await http('GET', json.encode(dataEp));
|
||||
|
||||
final html = json.decode(resEp)["html"];
|
||||
final epElements = parseHtml(html).select("a.ep-item");
|
||||
|
||||
final epUrls = querySelectorAll(html,
|
||||
selector: "a.ep-item",
|
||||
typeElement: 3,
|
||||
attributes: "href",
|
||||
typeRegExp: 0);
|
||||
final numbers = querySelectorAll(html,
|
||||
selector: "a.ep-item",
|
||||
typeElement: 3,
|
||||
attributes: "data-number",
|
||||
typeRegExp: 0);
|
||||
|
||||
final titles = querySelectorAll(html,
|
||||
selector: "a.ep-item",
|
||||
typeElement: 3,
|
||||
attributes: "title",
|
||||
typeRegExp: 0);
|
||||
|
||||
List<String> episodes = [];
|
||||
|
||||
for (var i = 0; i < titles.length; i++) {
|
||||
final number = numbers[i];
|
||||
final title = titles[i];
|
||||
episodes.add("Episode $number: $title");
|
||||
}
|
||||
List<MChapter>? episodesList = [];
|
||||
for (var i = 0; i < episodes.length; i++) {
|
||||
|
||||
for (var epElement in epElements) {
|
||||
final number = epElement.attr("data-number");
|
||||
final title = epElement.attr("title");
|
||||
|
||||
MChapter episode = MChapter();
|
||||
episode.name = episodes[i];
|
||||
episode.url = epUrls[i];
|
||||
episode.name = "Episode $number: $title";
|
||||
episode.url = epElement.getHref;
|
||||
episodesList.add(episode);
|
||||
}
|
||||
|
||||
@@ -204,31 +185,15 @@ class ZoroTheme extends MProvider {
|
||||
final res = await http('GET', json.encode(datas));
|
||||
final html = json.decode(res)["html"];
|
||||
|
||||
final names = querySelectorAll(html,
|
||||
selector: "div.server-item",
|
||||
typeElement: 0,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
|
||||
final ids = querySelectorAll(html,
|
||||
selector: "div.server-item",
|
||||
typeElement: 3,
|
||||
attributes: "data-id",
|
||||
typeRegExp: 0);
|
||||
|
||||
final subDubs = querySelectorAll(html,
|
||||
selector: "div.server-item",
|
||||
typeElement: 3,
|
||||
attributes: "data-type",
|
||||
typeRegExp: 0);
|
||||
final serverElements = parseHtml(html).select("div.server-item");
|
||||
|
||||
List<MVideo> videos = [];
|
||||
final hosterSelection = preferenceHosterSelection(source.id);
|
||||
final typeSelection = preferenceTypeSelection(source.id);
|
||||
for (var i = 0; i < names.length; i++) {
|
||||
final name = names[i];
|
||||
final id = ids[i];
|
||||
final subDub = subDubs[i];
|
||||
for (var serverElement in serverElements) {
|
||||
final name = serverElement.text;
|
||||
final id = serverElement.attr("data-id");
|
||||
final subDub = serverElement.attr("data-type");
|
||||
final datasE = {
|
||||
"url":
|
||||
"${source.baseUrl}/ajax${ajaxRoute('${source.baseUrl}')}/episode/sources?id=$id",
|
||||
@@ -237,7 +202,6 @@ class ZoroTheme extends MProvider {
|
||||
|
||||
final resE = await http('GET', json.encode(datasE));
|
||||
String epUrl = substringBefore(substringAfter(resE, "\"link\":\""), "\"");
|
||||
|
||||
List<MVideo> a = [];
|
||||
|
||||
if (hosterSelection.contains(name) && typeSelection.contains(subDub)) {
|
||||
|
||||
@@ -119,26 +119,21 @@ class Aniwave extends MProvider {
|
||||
}
|
||||
|
||||
anime.genre = xpath(res, '//div[contains(text(),"Genre")]/span/a/text()');
|
||||
final id = querySelectorAll(res,
|
||||
selector: "div[data-id]",
|
||||
typeElement: 3,
|
||||
attributes: "data-id",
|
||||
typeRegExp: 0)
|
||||
.first;
|
||||
final id = parseHtml(res).selectFirst("div[data-id]").attr("data-id");
|
||||
final encrypt = vrfEncrypt(id);
|
||||
final vrf = "vrf=${Uri.encodeComponent(encrypt)}";
|
||||
final dataEp = {
|
||||
"url": "${preferenceBaseUrl(source.id)}/ajax/episode/list/$id?$vrf"
|
||||
};
|
||||
|
||||
final resEp = await http('GET', json.encode(dataEp));
|
||||
final html = json.decode(resEp)["result"];
|
||||
List<MChapter>? episodesList = [];
|
||||
final epsHtml = querySelectorAll(html,
|
||||
selector: "div.episodes ul > li",
|
||||
typeElement: 2,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
for (var epHtml in epsHtml) {
|
||||
|
||||
final epsHtmls = parseHtml(html).select("div.episodes ul > li");
|
||||
|
||||
for (var epH in epsHtmls) {
|
||||
final epHtml = epH.outerHtml;
|
||||
final title = xpath(epHtml, '//li/@title').isNotEmpty
|
||||
? xpath(epHtml, '//li/@title').first
|
||||
: "";
|
||||
@@ -183,13 +178,12 @@ class Aniwave extends MProvider {
|
||||
"url": "${preferenceBaseUrl(source.id)}/ajax/server/list/$ids?$vrf"
|
||||
}));
|
||||
final html = json.decode(res)["result"];
|
||||
final vidsHtml = querySelectorAll(html,
|
||||
selector: "div.servers > div",
|
||||
typeElement: 2,
|
||||
attributes: "",
|
||||
typeRegExp: 0);
|
||||
|
||||
final vidsHtmls = parseHtml(html).select("div.servers > div");
|
||||
|
||||
List<MVideo> videos = [];
|
||||
for (var vidHtml in vidsHtml) {
|
||||
for (var vidH in vidsHtmls) {
|
||||
final vidHtml = vidH.outerHtml;
|
||||
final type = xpath(vidHtml, '//div/@data-type').first;
|
||||
final serversIds = xpath(vidHtml, '//li/@data-link-id');
|
||||
for (int i = 0; i < serversIds.length; i++) {
|
||||
|
||||
@@ -197,12 +197,9 @@ class UHDMovies extends MProvider {
|
||||
"url": nextUrl,
|
||||
"headers": {"referer": url, "Cookie": "$cookieName=$cookieValue"}
|
||||
}));
|
||||
final lastRes = querySelectorAll(response,
|
||||
selector: "meta[http-equiv]",
|
||||
typeElement: 3,
|
||||
attributes: "content",
|
||||
typeRegExp: 0)
|
||||
.first;
|
||||
|
||||
final lastRes =
|
||||
parseHtml(response).selectFirst("meta[http-equiv]").attr("content");
|
||||
return substringAfter(lastRes, "url=");
|
||||
}
|
||||
|
||||
|
||||
@@ -197,12 +197,7 @@ class AnimeSaturn extends MProvider {
|
||||
if (resVid.contains("jwplayer(")) {
|
||||
masterUrl = substringBefore(substringAfter(resVid, "file: \""), "\"");
|
||||
} else {
|
||||
masterUrl = querySelectorAll(resVid,
|
||||
selector: "source",
|
||||
typeElement: 3,
|
||||
attributes: "src",
|
||||
typeRegExp: 0)
|
||||
.first;
|
||||
masterUrl = parseHtml(resVid).selectFirst("source").attr("src");
|
||||
}
|
||||
|
||||
List<MVideo> videos = [];
|
||||
|
||||
Reference in New Issue
Block a user