Clean ZinChanManga.com titles (#5646)

This commit is contained in:
kana-shii 2024-10-22 23:11:17 -03:00 committed by GitHub
parent fea1087e24
commit a14fabf78f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 48 additions and 2 deletions

View File

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

View File

@ -1,5 +1,51 @@
package eu.kanade.tachiyomi.extension.en.zinchanmangacom
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 ZinChanMangaCom : Madara("ZinChanManga.com", "https://zinchanmanga.com", "en")
class ZinChanMangaCom : Madara("ZinChanManga.com", "https://zinchanmanga.com", "en") {
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()
}
}