This commit is contained in:
kodjomoustapha
2023-07-31 22:09:33 +01:00
parent c8aacac448
commit 5891eb0a13
2 changed files with 47 additions and 47 deletions

View File

@@ -1,7 +1,7 @@
import '../../../../model/source.dart'; import '../../../../model/source.dart';
Source get universanimeSource => _universanimeSource; Source get universanimeSource => _universanimeSource;
const universanimeVersion = "0.0.1"; const universanimeVersion = "0.0.11";
const universanimeSourceCodeUrl = const universanimeSourceCodeUrl =
"https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/anime/src/fr/universanime/universanime-v$universanimeVersion.dart"; "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/main/anime/src/fr/universanime/universanime-v$universanimeVersion.dart";
Source _universanimeSource = Source( Source _universanimeSource = Source(

View File

@@ -1,9 +1,44 @@
import 'dart:convert'; import 'dart:convert';
import 'package:bridge_lib/bridge_lib.dart'; import 'package:bridge_lib/bridge_lib.dart';
getPopularAnime(MangaModel anime) async { getVideoList(MangaModel anime) async {
final datas = {
"url": anime.link,
"headers": null,
"sourceId": anime.sourceId
};
final res = await MBridge.http(json.encode(datas), 0);
if (res.isEmpty) {
return [];
}
final serverUrls = MBridge.xpath(
res, '//*[@class="entry-content"]/div/div/iframe/@src', '._')
.split("._");
List<VideoModel> videos = [];
for (var i = 0; i < serverUrls.length; i++) {
final url = MBridge.listParse(serverUrls, 0)[i].toString();
print(url);
List<VideoModel> a = [];
if (url.startsWith("https://filemoon.")) {
} else if (url.startsWith("https://doodstream.")) {
a = await MBridge.doodExtractor(url);
} else if (url.startsWith("https://streamtape.")) {
a = await MBridge.streamTapeExtractor(url);
} else if (url.contains("streamsb")) {}
for (var vi in a) {
videos.add(vi);
}
}
return videos;
}
getLatestUpdatesAnime(MangaModel anime) async {
final data = { final data = {
"url": "${anime.baseUrl}/liste-des-animes-2/", "url": "${anime.baseUrl}/page/${anime.page}/",
"headers": null, "headers": null,
"sourceId": anime.sourceId "sourceId": anime.sourceId
}; };
@@ -13,18 +48,15 @@ getPopularAnime(MangaModel anime) async {
} }
anime.urls = MBridge.xpath( anime.urls = MBridge.xpath(
res, res,
'//*[@class="lcp_catlist" and contains(@id,"lcp_instance_")]/li/a/@href', '//*[@class="recent-posts"]/li/div[@class="post-thumb"]/a/@href',
'._') '._')
.split('._'); .split('._');
anime.names = MBridge.xpath( anime.names = MBridge.xpath(
res, res,
'//*[@class="lcp_catlist" and contains(@id,"lcp_instance_")]/li/a/text()', '//*[@class="recent-posts"]/li/div[@class="post-thumb"]/a/@title',
'._') '._')
.split('._'); .split('._');
anime.images = []; anime.images = [];
return anime; return anime;
} }
@@ -60,9 +92,9 @@ getAnimeDetail(MangaModel anime) async {
return anime; return anime;
} }
getLatestUpdatesAnime(MangaModel anime) async { getPopularAnime(MangaModel anime) async {
final data = { final data = {
"url": "${anime.baseUrl}/page/${anime.page}/", "url": "${anime.baseUrl}/liste-des-animes-2/",
"headers": null, "headers": null,
"sourceId": anime.sourceId "sourceId": anime.sourceId
}; };
@@ -72,53 +104,21 @@ getLatestUpdatesAnime(MangaModel anime) async {
} }
anime.urls = MBridge.xpath( anime.urls = MBridge.xpath(
res, res,
'//*[@class="recent-posts"]/li/div[@class="post-thumb"]/a/@href', '//*[@class="lcp_catlist" and contains(@id,"lcp_instance_")]/li/a/@href',
'._') '._')
.split('._'); .split('._');
anime.names = MBridge.xpath( anime.names = MBridge.xpath(
res, res,
'//*[@class="recent-posts"]/li/div[@class="post-thumb"]/a/@title', '//*[@class="lcp_catlist" and contains(@id,"lcp_instance_")]/li/a/text()',
'._') '._')
.split('._'); .split('._');
anime.images = []; anime.images = [];
return anime; return anime;
} }
getVideoList(MangaModel anime) async {
final datas = {
"url": anime.link,
"headers": null,
"sourceId": anime.sourceId
};
final res = await MBridge.http(json.encode(datas), 0);
if (res.isEmpty) {
return [];
}
final serverUrls = MBridge.xpath(
res, '//*[@class="entry-content"]/div/div/iframe/@src', '._')
.split("._");
List<VideoModel> videos = [];
for (var i = 0; i < serverUrls.length; i++) {
final url = MBridge.listParse(serverUrls, 0)[i].toString();
print(url);
List<VideoModel> a = [];
if (url.startsWith("https://filemoon.")) {
} else if (url.startsWith("https://doodstream.")) {
a = await MBridge.doodExtractor(url);
} else if (url.startsWith("https://streamtape.")) {
a = await MBridge.streamTapeExtractor(url);
} else if (url.contains("streamsb")) {}
for (var vi in a) {
videos.add(vi);
}
}
return videos;
}
searchAnime(MangaModel anime) async { searchAnime(MangaModel anime) async {
final data = { final data = {
"url": "${anime.baseUrl}/liste-des-animes-2/", "url": "${anime.baseUrl}/liste-des-animes-2/",