ZinChanManga: cleaner titles (#4560)

This commit is contained in:
AwkwardPeak7 2024-08-10 17:58:16 +05:00 committed by Draff
parent 10a0b67bf4
commit 9211ccee37
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 46 additions and 1 deletions

View File

@ -3,7 +3,7 @@ ext {
extClass = '.ZinChanManga' extClass = '.ZinChanManga'
themePkg = 'madara' themePkg = 'madara'
baseUrl = 'https://zinchanmanga.net' baseUrl = 'https://zinchanmanga.net'
overrideVersionCode = 1 overrideVersionCode = 2
isNsfw = true isNsfw = true
} }

View File

@ -1,7 +1,52 @@
package eu.kanade.tachiyomi.extension.en.zinchanmanga package eu.kanade.tachiyomi.extension.en.zinchanmanga
import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.multisrc.madara.Madara
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ZinChanManga : Madara("ZinChanManga", "https://zinchanmanga.net", "en") { class ZinChanManga : Madara("ZinChanManga", "https://zinchanmanga.net", "en") {
override val versionId = 2 override val versionId = 2
override val useNewChapterEndpoint = true
override fun popularMangaFromElement(element: Element): SManga {
return super.popularMangaFromElement(element).apply {
title = url.urlToTitle() ?: title
}
}
override fun searchMangaFromElement(element: Element): SManga {
return super.searchMangaFromElement(element).apply {
title = url.urlToTitle() ?: title
}
}
override fun mangaDetailsParse(document: Document): SManga {
return super.mangaDetailsParse(document).apply {
title = document.location().urlToTitle() ?: title
}
}
private fun String.urlToTitle(): String? {
val slug = substringAfter("/manga/", "")
.substringBefore("/")
.takeUnless { it.isBlank() }
?: return null
val result = StringBuilder(slug.length)
var capitalize = true
for (char in slug) {
result.append(
if (char == '-') {
' '
} else if (capitalize) {
char.uppercase()
} else {
char.lowercase()
},
)
capitalize = char == '-'
}
return result.toString()
}
} }