mirror of
https://github.com/kodjodevf/mangayomi-extensions.git
synced 2026-02-14 10:51:17 +00:00
Refactor
This commit is contained in:
@@ -2,29 +2,30 @@ import 'package:mangayomi/bridge_lib.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class DataLifeEngine extends MProvider {
|
||||
DataLifeEngine();
|
||||
DataLifeEngine({required this.source});
|
||||
|
||||
final Client client = Client();
|
||||
MSource source;
|
||||
|
||||
final Client client = Client(source);
|
||||
|
||||
@override
|
||||
bool get supportsLatest => false;
|
||||
|
||||
@override
|
||||
Future<MPages> getPopular(MSource source, int page) async {
|
||||
Future<MPages> getPopular(int page) async {
|
||||
final res = (await client
|
||||
.get(Uri.parse("${source.baseUrl}${getPath(source)}page/$page")))
|
||||
.body;
|
||||
return animeFromElement(res, source.baseUrl);
|
||||
return animeFromElement(res);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
Future<MPages> getLatestUpdates(int page) async {
|
||||
return MPages([], false);
|
||||
}
|
||||
|
||||
@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;
|
||||
final baseUrl = source.baseUrl;
|
||||
String res = "";
|
||||
@@ -65,11 +66,11 @@ class DataLifeEngine extends MProvider {
|
||||
res = (await client.get(Uri.parse(url))).body;
|
||||
}
|
||||
|
||||
return animeFromElement(res, baseUrl);
|
||||
return animeFromElement(res);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MManga> getDetail(MSource source, String url) async {
|
||||
Future<MManga> getDetail(String url) async {
|
||||
String res = (await client.get(Uri.parse(url))).body;
|
||||
MManga anime = MManga();
|
||||
final description = xpath(res, '//span[@itemprop="description"]/text()');
|
||||
@@ -116,7 +117,7 @@ class DataLifeEngine extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<MVideo>> getVideoList(MSource source, String url) async {
|
||||
Future<List<MVideo>> getVideoList(String url) async {
|
||||
List<MVideo> videos = [];
|
||||
final sUrls = url.split(',');
|
||||
for (var sUrl in sUrls) {
|
||||
@@ -143,7 +144,7 @@ class DataLifeEngine extends MProvider {
|
||||
return videos;
|
||||
}
|
||||
|
||||
MPages animeFromElement(String res, String baseUrl) {
|
||||
MPages animeFromElement(String res) {
|
||||
final htmls = parseHtml(res).select("div#dle-content > div.mov");
|
||||
List<MManga> animeList = [];
|
||||
for (var h in htmls) {
|
||||
@@ -155,7 +156,7 @@ class DataLifeEngine extends MProvider {
|
||||
MManga anime = MManga();
|
||||
anime.name =
|
||||
"$name ${season.isNotEmpty ? season.first.replaceAll("\n", " ") : ""}";
|
||||
anime.imageUrl = "$baseUrl$image";
|
||||
anime.imageUrl = "${source.baseUrl}$image";
|
||||
anime.link = url;
|
||||
animeList.add(anime);
|
||||
}
|
||||
@@ -245,13 +246,13 @@ class DataLifeEngine extends MProvider {
|
||||
return [video];
|
||||
}
|
||||
|
||||
String getPath(MSource source) {
|
||||
String getPath() {
|
||||
if (source.name == "French Anime") return "/animes-vostfr/";
|
||||
return "/serie-en-streaming/";
|
||||
}
|
||||
|
||||
@override
|
||||
List<dynamic> getFilterList(MSource source) {
|
||||
List<dynamic> getFilterList() {
|
||||
return [
|
||||
HeaderFilter("La recherche de texte ignore les filtres"),
|
||||
if (source.name == "French Anime")
|
||||
@@ -326,6 +327,6 @@ class DataLifeEngine extends MProvider {
|
||||
}
|
||||
}
|
||||
|
||||
DataLifeEngine main() {
|
||||
return DataLifeEngine();
|
||||
DataLifeEngine main(MSource source) {
|
||||
return DataLifeEngine(source: source);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import '../../../model/source.dart';
|
||||
import 'src/frenchanime/frenchanime.dart';
|
||||
import 'src/wiflix/wiflix.dart';
|
||||
|
||||
const _datalifeengineVersion = "0.0.25";
|
||||
const _datalifeengineVersion = "0.0.3";
|
||||
const _datalifeengineSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/anime/multisrc/datalifeengine/datalifeengine.dart";
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class DopeFlix extends MProvider {
|
||||
DopeFlix();
|
||||
DopeFlix({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(
|
||||
"${preferenceBaseUrl(source.id)}/${getPreferenceValue(source.id, "preferred_popular_page")}?page=$page")))
|
||||
.body;
|
||||
@@ -15,7 +17,7 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MPages> getLatestUpdates(MSource source, int page) async {
|
||||
Future<MPages> getLatestUpdates(int page) async {
|
||||
final res =
|
||||
(await client.get(Uri.parse("${preferenceBaseUrl(source.id)}/home")))
|
||||
.body;
|
||||
@@ -37,8 +39,7 @@ class DopeFlix 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 = "${preferenceBaseUrl(source.id)}";
|
||||
|
||||
@@ -81,7 +82,7 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MManga> getDetail(MSource source, String url) async {
|
||||
Future<MManga> getDetail(String url) async {
|
||||
url = getUrlWithoutDomain(url);
|
||||
final res =
|
||||
(await client.get(Uri.parse("${preferenceBaseUrl(source.id)}$url")))
|
||||
@@ -145,7 +146,7 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<MVideo>> getVideoList(MSource source, String url) async {
|
||||
Future<List<MVideo>> getVideoList(String url) async {
|
||||
url = getUrlWithoutDomain(url);
|
||||
final res =
|
||||
(await client.get(Uri.parse("${preferenceBaseUrl(source.id)}/$url")))
|
||||
@@ -317,7 +318,7 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
List<dynamic> getFilterList(MSource source) {
|
||||
List<dynamic> getFilterList() {
|
||||
return [
|
||||
SelectFilter("TypeFilter", "Type", 0, [
|
||||
SelectFilterOption("All", "all"),
|
||||
@@ -413,7 +414,7 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
List<dynamic> getSourcePreferences(MSource source) {
|
||||
List<dynamic> getSourcePreferences() {
|
||||
return [
|
||||
if (source.name == "DopeBox")
|
||||
ListPreference(
|
||||
@@ -542,6 +543,6 @@ class DopeFlix extends MProvider {
|
||||
}
|
||||
}
|
||||
|
||||
DopeFlix main() {
|
||||
return DopeFlix();
|
||||
DopeFlix main(MSource source) {
|
||||
return DopeFlix(source: source);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import '../../../model/source.dart';
|
||||
import 'src/dopebox/dopebox.dart';
|
||||
import 'src/sflix/sflix.dart';
|
||||
|
||||
const _dopeflixVersion = "0.0.35";
|
||||
const _dopeflixVersion = "0.0.4";
|
||||
const _dopeflixSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/anime/multisrc/dopeflix/dopeflix.dart";
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import '../../../model/source.dart';
|
||||
import 'src/aniwatch/aniwatch.dart';
|
||||
import 'src/kaido/kaido.dart';
|
||||
|
||||
const _zorothemeVersion = "0.0.75";
|
||||
const _zorothemeVersion = "0.0.8";
|
||||
const _zorothemeSourceCodeUrl =
|
||||
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/anime/multisrc/zorotheme/zorotheme.dart";
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@ import 'package:mangayomi/bridge_lib.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class ZoroTheme extends MProvider {
|
||||
ZoroTheme();
|
||||
ZoroTheme({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}/most-popular?page=$page")))
|
||||
.body;
|
||||
@@ -16,7 +18,7 @@ class ZoroTheme 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}/recently-updated?page=$page")))
|
||||
.body;
|
||||
@@ -25,8 +27,7 @@ class ZoroTheme 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}/";
|
||||
|
||||
@@ -119,7 +120,7 @@ class ZoroTheme extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MManga> getDetail(MSource source, String url) async {
|
||||
Future<MManga> getDetail(String url) async {
|
||||
final statusList = [
|
||||
{"Currently Airing": 0, "Finished Airing": 1}
|
||||
];
|
||||
@@ -170,7 +171,7 @@ class ZoroTheme extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<MVideo>> getVideoList(MSource source, String url) async {
|
||||
Future<List<MVideo>> getVideoList(String url) async {
|
||||
final id = substringAfterLast(url, '?ep=');
|
||||
|
||||
final res = (await client.get(
|
||||
@@ -384,7 +385,7 @@ class ZoroTheme extends MProvider {
|
||||
];
|
||||
|
||||
@override
|
||||
List<dynamic> getFilterList(MSource source) {
|
||||
List<dynamic> getFilterList() {
|
||||
return [
|
||||
SelectFilter("TypeFilter", "Type", 0, [
|
||||
SelectFilterOption("All", ""),
|
||||
@@ -518,7 +519,7 @@ class ZoroTheme extends MProvider {
|
||||
}
|
||||
|
||||
@override
|
||||
List<dynamic> getSourcePreferences(MSource source) {
|
||||
List<dynamic> getSourcePreferences() {
|
||||
return [
|
||||
ListPreference(
|
||||
key: "preferred_quality",
|
||||
@@ -606,6 +607,6 @@ class ZoroTheme extends MProvider {
|
||||
}
|
||||
}
|
||||
|
||||
ZoroTheme main() {
|
||||
return ZoroTheme();
|
||||
ZoroTheme main(MSource source) {
|
||||
return ZoroTheme(source: source);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user