From 355425791890b02ff24ebc6ba56f7a571b3577c3 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Mon, 30 Sep 2024 16:43:19 -0400 Subject: [PATCH] Fix broken SourceHut source (#1864) --- lib/app_sources/sourcehut.dart | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/app_sources/sourcehut.dart b/lib/app_sources/sourcehut.dart index 51e98b5..fbe423d 100644 --- a/lib/app_sources/sourcehut.dart +++ b/lib/app_sources/sourcehut.dart @@ -60,8 +60,17 @@ class SourceHut extends AppSource { int ind = 0; for (var entry in parsedHtml.querySelectorAll('item').sublist(0, 6)) { - // Limit 5 for speed - if (!fallbackToOlderReleases && ind > 0) { + ind++; + String releasePage = // querySelector('link') fails for some reason + entry + .querySelector('guid') // Luckily guid is identical + ?.innerHtml + .trim() ?? + ''; + if (!releasePage.startsWith('$standardUrl/refs')) { + continue; + } + if (!fallbackToOlderReleases && ind > 1) { break; } String? version = entry.querySelector('title')?.text.trim(); @@ -69,7 +78,6 @@ class SourceHut extends AppSource { throw NoVersionError(); } String? releaseDateString = entry.querySelector('pubDate')?.innerHtml; - String releasePage = '$standardUrl/refs/$version'; DateTime? releaseDate; try { releaseDate = releaseDateString != null @@ -98,7 +106,6 @@ class SourceHut extends AppSource { AppNames(entry.querySelector('author')?.innerHtml.trim() ?? appName, appName), releaseDate: releaseDate)); - ind++; } if (apkDetailsList.isEmpty) { throw NoReleasesError();