mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-02 05:40:15 +02:00
Lint all files
This commit is contained in:
@@ -13,17 +13,21 @@ class SourceHut extends AppSource {
|
||||
|
||||
additionalSourceAppSpecificSettingFormItems = [
|
||||
[
|
||||
GeneratedFormSwitch('fallbackToOlderReleases',
|
||||
label: tr('fallbackToOlderReleases'), defaultValue: true)
|
||||
]
|
||||
GeneratedFormSwitch(
|
||||
'fallbackToOlderReleases',
|
||||
label: tr('fallbackToOlderReleases'),
|
||||
defaultValue: true,
|
||||
),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
@override
|
||||
String sourceSpecificStandardizeURL(String url, {bool forSelection = false}) {
|
||||
RegExp standardUrlRegEx = RegExp(
|
||||
'^https?://(www\\.)?${getSourceRegex(hosts)}/[^/]+/[^/]+',
|
||||
caseSensitive: false);
|
||||
'^https?://(www\\.)?${getSourceRegex(hosts)}/[^/]+/[^/]+',
|
||||
caseSensitive: false,
|
||||
);
|
||||
RegExpMatch? match = standardUrlRegEx.firstMatch(url);
|
||||
if (match == null) {
|
||||
throw InvalidURLError(name);
|
||||
@@ -52,8 +56,10 @@ class SourceHut extends AppSource {
|
||||
String appName = standardUri.pathSegments.last;
|
||||
bool fallbackToOlderReleases =
|
||||
additionalSettings['fallbackToOlderReleases'] == true;
|
||||
Response res =
|
||||
await sourceRequest('$standardUrl/refs/rss.xml', additionalSettings);
|
||||
Response res = await sourceRequest(
|
||||
'$standardUrl/refs/rss.xml',
|
||||
additionalSettings,
|
||||
);
|
||||
if (res.statusCode == 200) {
|
||||
var parsedHtml = parse(res.body);
|
||||
List<APKDetails> apkDetailsList = [];
|
||||
@@ -63,10 +69,10 @@ class SourceHut extends AppSource {
|
||||
ind++;
|
||||
String releasePage = // querySelector('link') fails for some reason
|
||||
entry
|
||||
.querySelector('guid') // Luckily guid is identical
|
||||
?.innerHtml
|
||||
.trim() ??
|
||||
'';
|
||||
.querySelector('guid') // Luckily guid is identical
|
||||
?.innerHtml
|
||||
.trim() ??
|
||||
'';
|
||||
if (!releasePage.startsWith('$standardUrl/refs')) {
|
||||
continue;
|
||||
}
|
||||
@@ -84,8 +90,9 @@ class SourceHut extends AppSource {
|
||||
? DateFormat('E, dd MMM yyyy HH:mm:ss Z').parse(releaseDateString)
|
||||
: null;
|
||||
releaseDate = releaseDateString != null
|
||||
? DateFormat('EEE, dd MMM yyyy HH:mm:ss Z')
|
||||
.parse(releaseDateString)
|
||||
? DateFormat(
|
||||
'EEE, dd MMM yyyy HH:mm:ss Z',
|
||||
).parse(releaseDateString)
|
||||
: null;
|
||||
} catch (e) {
|
||||
// ignore
|
||||
@@ -93,27 +100,35 @@ class SourceHut extends AppSource {
|
||||
var res2 = await sourceRequest(releasePage, additionalSettings);
|
||||
List<MapEntry<String, String>> apkUrls = [];
|
||||
if (res2.statusCode == 200) {
|
||||
apkUrls = getApkUrlsFromUrls(parse(res2.body)
|
||||
.querySelectorAll('a')
|
||||
.map((e) => e.attributes['href'] ?? '')
|
||||
.where((e) => e.toLowerCase().endsWith('.apk'))
|
||||
.map((e) => ensureAbsoluteUrl(e, standardUri))
|
||||
.toList());
|
||||
apkUrls = getApkUrlsFromUrls(
|
||||
parse(res2.body)
|
||||
.querySelectorAll('a')
|
||||
.map((e) => e.attributes['href'] ?? '')
|
||||
.where((e) => e.toLowerCase().endsWith('.apk'))
|
||||
.map((e) => ensureAbsoluteUrl(e, standardUri))
|
||||
.toList(),
|
||||
);
|
||||
}
|
||||
apkDetailsList.add(APKDetails(
|
||||
apkDetailsList.add(
|
||||
APKDetails(
|
||||
version,
|
||||
apkUrls,
|
||||
AppNames(entry.querySelector('author')?.innerHtml.trim() ?? appName,
|
||||
appName),
|
||||
releaseDate: releaseDate));
|
||||
AppNames(
|
||||
entry.querySelector('author')?.innerHtml.trim() ?? appName,
|
||||
appName,
|
||||
),
|
||||
releaseDate: releaseDate,
|
||||
),
|
||||
);
|
||||
}
|
||||
if (apkDetailsList.isEmpty) {
|
||||
throw NoReleasesError();
|
||||
}
|
||||
if (fallbackToOlderReleases) {
|
||||
if (additionalSettings['trackOnly'] != true) {
|
||||
apkDetailsList =
|
||||
apkDetailsList.where((e) => e.apkUrls.isNotEmpty).toList();
|
||||
apkDetailsList = apkDetailsList
|
||||
.where((e) => e.apkUrls.isNotEmpty)
|
||||
.toList();
|
||||
}
|
||||
if (apkDetailsList.isEmpty) {
|
||||
throw NoReleasesError();
|
||||
|
Reference in New Issue
Block a user