mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 05:57:03 +05:30
refactor: resolve Detekt issues found in metadata-extractor
This commit is contained in:
parent
1d761b1f6e
commit
52ac8346b3
2 changed files with 20 additions and 19 deletions
|
@ -1,7 +1,5 @@
|
|||
<?xml version="1.0" ?>
|
||||
<SmellBaseline>
|
||||
<ManuallySuppressedIssues></ManuallySuppressedIssues>
|
||||
<CurrentIssues>
|
||||
<ID>ReturnCount:MetadataExtractor.kt$MetadataExtractor$suspend fun getExtractedMetadata(url: String): LinkMetadata</ID>
|
||||
</CurrentIssues>
|
||||
<CurrentIssues></CurrentIssues>
|
||||
</SmellBaseline>
|
||||
|
|
|
@ -18,22 +18,25 @@ constructor(
|
|||
) {
|
||||
|
||||
suspend fun getExtractedMetadata(url: String): LinkMetadata {
|
||||
val parsedUrl = url.toHttpUrlOrNull() ?: return makeDefault(url)
|
||||
if (!parsedUrl.isHttps) return makeDefault(url)
|
||||
val request = Request.Builder().url(parsedUrl).build()
|
||||
val htmlContent =
|
||||
okHttpClient.newCall(request).execute().use { response ->
|
||||
val body = response.body ?: return makeDefault(url)
|
||||
body.string()
|
||||
}
|
||||
val extractedMetadata = crux.extractFrom(parsedUrl, Jsoup.parse(htmlContent, url))
|
||||
val faviconUrl = extractedMetadata.urls[FAVICON_URL].toString()
|
||||
val readingTime = extractedMetadata[DURATION_MS]
|
||||
return LinkMetadata(
|
||||
url = url,
|
||||
faviconUrl = faviconUrl,
|
||||
readingTime = readingTime,
|
||||
)
|
||||
return run {
|
||||
val parsedUrl = url.toHttpUrlOrNull() ?: return@run null
|
||||
if (!parsedUrl.isHttps) return@run null
|
||||
val request = Request.Builder().url(parsedUrl).build()
|
||||
val htmlContent =
|
||||
okHttpClient.newCall(request).execute().use { response ->
|
||||
val body = response.body ?: return@run null
|
||||
body.string()
|
||||
}
|
||||
val extractedMetadata = crux.extractFrom(parsedUrl, Jsoup.parse(htmlContent, url))
|
||||
val faviconUrl = extractedMetadata.urls[FAVICON_URL].toString()
|
||||
val readingTime = extractedMetadata[DURATION_MS]
|
||||
LinkMetadata(
|
||||
url = url,
|
||||
faviconUrl = faviconUrl,
|
||||
readingTime = readingTime,
|
||||
)
|
||||
}
|
||||
?: makeDefault(url)
|
||||
}
|
||||
|
||||
private fun makeDefault(url: String) =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue