From 29c32f80062666f59b565a4a62246f81b3db4e3f Mon Sep 17 00:00:00 2001 From: Moustapha Kodjo Amadou <107993382+kodjodevf@users.noreply.github.com> Date: Thu, 22 May 2025 15:42:48 +0100 Subject: [PATCH] fix --- dart/anime/src/en/animepahe/animepahe.dart | 18 ++++++++++++++++-- dart/anime/src/en/animepahe/source.dart | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/dart/anime/src/en/animepahe/animepahe.dart b/dart/anime/src/en/animepahe/animepahe.dart index bff940bd..789c94d9 100644 --- a/dart/anime/src/en/animepahe/animepahe.dart +++ b/dart/anime/src/en/animepahe/animepahe.dart @@ -65,7 +65,8 @@ class AnimePahe extends MProvider { ]; MManga anime = MManga(); final id = substringBefore(substringAfterLast(url, "?anime_id="), "&name="); - final session = await getSession(id); + final name = substringAfterLast(url, "&name="); + final session = await getSession(name, id); final res = (await client.get( Uri.parse("$baseUrl/anime/$session?anime_id=$id"), headers: headers, @@ -137,7 +138,7 @@ class AnimePahe extends MProvider { return animeList; } - Future getSession(String animeId) async { + Future getSession(String title, String animeId) async { final noRedirect = Client( source, json.encode({"followRedirects": false, "useDartHttpClient": true}), @@ -147,6 +148,19 @@ class AnimePahe extends MProvider { Uri.parse("$baseUrl/a/$animeId"), headers: headers, ); + if (res.statusCode == 302) { + final res = (await client.get( + Uri.parse("$baseUrl/api?m=search&q=$title"), + headers: headers, + )).body; + return substringBefore( + substringAfter( + substringAfter(res, "\"id\":$animeId"), + "\"session\":\"", + ), + "\"", + ); + } final location = "https://${substringAfterLast(res.headers["location"], "https://")}"; final uri = Uri.parse(location); diff --git a/dart/anime/src/en/animepahe/source.dart b/dart/anime/src/en/animepahe/source.dart index bbdd8eb1..d8d12f7a 100644 --- a/dart/anime/src/en/animepahe/source.dart +++ b/dart/anime/src/en/animepahe/source.dart @@ -1,7 +1,7 @@ import '../../../../../model/source.dart'; Source get animepaheSource => _animepaheSource; -const _animepaheVersion = "0.0.6"; +const _animepaheVersion = "0.0.65"; const _animepaheSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/animepahe.dart"; Source _animepaheSource = Source(