From 106fc78b4bd64fa55edce4a8d53438ac36cff874 Mon Sep 17 00:00:00 2001 From: Francesco De Feo Date: Thu, 23 Jan 2025 00:32:03 +0100 Subject: [PATCH] animesaturn: fix for this: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dart_eval runtime exception: Bad state: No element List.first (dart:core-patch/growable_array.dart:344) SIterable.SgetProperty (package:dart_eval/src/eval/shared/stdlib/core/iterable.dart:609) SList. S getProperty (package:dart-_eval/s/eval/shared/stdib/core/list.dart:900) at < asynchronous gap> Shangri-La Frontier 2 RUNTIME STATE 6-=-========= Program offset: 831 Shangri-La Frontier 2 Stack sample: [L7: Instance of "$Future<$Response>', L8: Instance of '$Response', L9: $" «html» dff]?")". "*)+d[f|.toString(16);return e.toLowerCase())var a=toNumbers("F4baf9d74d4cb868c5317e9802ca7c1f""),b=toNumbers("Ic2aabd2a4a9ed25aeae78669546c8f9"),c=toNumbers("2e34487f1b463e342a9ec7986e427e80");document.cookie="ASNew- Gv="+ toHex(slowAES.decrypt(c,2,a,b))+"; path=/";location.href="http://www.animesaturn.cx/anime/Dan-Da-Dan?d=1";", L10: Instance of '$MManga', L11: Function{func: Closure: (dynamic, dynamic, List<$Value?>) => $Value? from Function 'Xpath@1865285211': static.), L12: $"//div@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100 text-white"/textO", L13: D, *L14: null, L15: null, L16: null] Args sample: 1 Call stack: [0, -1] TRACE: Nanatsu no Taizai: Mokushiroku no Yonkishi 2 Episodio 9 825: PushConstant (C55) Tail: 100 Years Quest 826: BoxString (L12) 827: PushArg (L9) Dragon Ball Daima 828: PushArg (L12) 829: InvokeDynamic (LO.C8) on Ball Daimal 830: PushReturnValue O 831: PushObjectProperty (L13.C56) < < < EXCEPTION 832: PushReturnValue () 833: PushObjectProperty (LO.C57) 834: PushReturnValue --- .../anime/src/it/animesaturn/animesaturn.dart | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/dart/anime/src/it/animesaturn/animesaturn.dart b/dart/anime/src/it/animesaturn/animesaturn.dart index 0ce788db..ed84b771 100644 --- a/dart/anime/src/it/animesaturn/animesaturn.dart +++ b/dart/anime/src/it/animesaturn/animesaturn.dart @@ -45,7 +45,7 @@ class AnimeSaturn extends MProvider { final urls = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/@href'); - final names = xpath(res, '///*[@class="card mb-4 shadow-sm"]/a/@title'); + final names = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/@title'); final images = xpath(res, '//*[@class="card mb-4 shadow-sm"]/a/img[@class="new-anime"]/@src'); @@ -149,15 +149,18 @@ class AnimeSaturn extends MProvider { final res = (await client.get(Uri.parse(url))).body; MManga anime = MManga(); - final details = xpath(res, - '//div[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100 text-white"]/text()') - .first; + final detailsList = xpath(res, + '//div[@class="container shadow rounded bg-dark-as-box mb-3 p-3 w-100 text-white"]/text()'); + if (detailsList.isNotEmpty) { + final details = detailsList.first; + + anime.status = parseStatus( + details.substring( + details.indexOf("Stato:") + 6, details.indexOf("Data di uscita:")), + statusList); + anime.author = details.substring(7, details.indexOf("Stato:")); + } - anime.status = parseStatus( - details.substring( - details.indexOf("Stato:") + 6, details.indexOf("Data di uscita:")), - statusList); - anime.author = details.substring(7, details.indexOf("Stato:")); final description = xpath(res, '//*[@id="shown-trama"]/text()'); final descriptionFull = xpath(res, '//*[@id="full-trama"]/text()'); if (description.isNotEmpty) { @@ -356,4 +359,4 @@ class AnimeSaturn extends MProvider { AnimeSaturn main(MSource source) { return AnimeSaturn(source: source); -} +} \ No newline at end of file