refactor: resolve Detekt issues found in metadata-extractor

This commit is contained in:
Harsh Shandilya 2022-10-02 16:12:42 +05:30
parent 1d761b1f6e
commit 52ac8346b3
No known key found for this signature in database
2 changed files with 20 additions and 19 deletions

View file

@ -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>

View file

@ -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) =