[Madara5] Fix cover urls

pull/36/head
Koitharu 4 years ago
parent dfaa0f5685
commit 26d951bc20
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -1,4 +1,4 @@
package org.koitharu.kotatsu.parsers.site
package org.koitharu.kotatsu.parsers.site.madara
import androidx.collection.arraySetOf
import org.jsoup.nodes.Element
@ -64,7 +64,7 @@ abstract class Madara5Parser @InternalParsersApi constructor(
.firstOrNull()?.tableValue()?.text()?.trim(),
url = href,
publicUrl = a.attrAsAbsoluteUrl("href"),
coverUrl = img.attrAsAbsoluteUrl("src"),
coverUrl = img.src().orEmpty(),
author = postContent.getElementsContainingOwnText("Author")
.firstOrNull()?.tableValue()?.text()?.trim(),
state = postContent.getElementsContainingOwnText("Status")
@ -147,6 +147,12 @@ abstract class Madara5Parser @InternalParsersApi constructor(
return tags.any { it.key in nsfwTags }
}
private fun Element.src(): String? {
return absUrl("data-src").ifEmpty {
absUrl("src")
}.takeUnless { it.isEmpty() }
}
private fun Element.tableValue(): Element {
for (p in parents()) {
val children = p.children()
@ -170,7 +176,7 @@ abstract class Madara5Parser @InternalParsersApi constructor(
source = source,
)
@MangaSourceParser("MANGAOWLS", "MangaOwls", "en")
@MangaSourceParser("MANGAOWLS", "BeautyManga", "en")
class MangaOwls(context: MangaLoaderContext) : Madara5Parser(context, MangaSource.MANGAOWLS, "beautymanga.com") {
override fun getFaviconUrl() = "http://${getDomain()}/frontend/images/favico.png"

@ -1,4 +1,4 @@
package org.koitharu.kotatsu.parsers.site
package org.koitharu.kotatsu.parsers.site.madara
import org.jsoup.nodes.Element
import org.koitharu.kotatsu.parsers.MangaLoaderContext

@ -8,8 +8,6 @@ import org.koitharu.kotatsu.parsers.config.MangaSourceConfig
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.util.await
import java.util.concurrent.TimeUnit
import javax.net.ssl.HostnameVerifier
import javax.net.ssl.SSLSession
internal class MangaLoaderContextMock : MangaLoaderContext() {
@ -28,7 +26,6 @@ internal class MangaLoaderContextMock : MangaLoaderContext() {
.cookieJar(cookieJar)
.addInterceptor(UserAgentInterceptor(userAgent))
.addInterceptor(CloudFlareInterceptor())
.hostnameVerifier(ConsumeAllVerifier())
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
@ -64,10 +61,4 @@ internal class MangaLoaderContextMock : MangaLoaderContext() {
cookieJar.loadFromStream(it)
} ?: println("No cookies loaded!")
}
private class ConsumeAllVerifier : HostnameVerifier {
override fun verify(hostname: String?, session: SSLSession?): Boolean {
return true
}
}
}
Loading…
Cancel
Save