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,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);
}

View File

@@ -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";

View File

@@ -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);
}

View File

@@ -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";

View File

@@ -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";

View File

@@ -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);
}