Initial commit
This commit is contained in:
41
multisrc/overrides/mangathemesia/soulscans/src/SoulScans.kt
Normal file
41
multisrc/overrides/mangathemesia/soulscans/src/SoulScans.kt
Normal file
@@ -0,0 +1,41 @@
|
||||
package eu.kanade.tachiyomi.extension.id.soulscans
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Document
|
||||
import java.util.Locale
|
||||
|
||||
class SoulScans : MangaThemesia("Soul Scans", "https://soulscans.my.id", "id") {
|
||||
|
||||
override val hasProjectPage = true
|
||||
|
||||
override fun mangaDetailsParse(document: Document) = SManga.create().apply {
|
||||
document.selectFirst(seriesDetailsSelector)?.let { seriesDetails ->
|
||||
title = seriesDetails.selectFirst(seriesTitleSelector)?.text().orEmpty()
|
||||
artist = seriesDetails.selectFirst(seriesArtistSelector)?.ownText().removeEmptyPlaceholder()
|
||||
author = seriesDetails.selectFirst(seriesAuthorSelector)?.ownText().removeEmptyPlaceholder()
|
||||
description = seriesDetails.select(seriesDescriptionSelector).joinToString("\n") { it.text() }.trim()
|
||||
// Add alternative name to manga description
|
||||
val altName = seriesDetails.selectFirst(seriesAltNameSelector)?.ownText().takeIf { it.isNullOrBlank().not() }
|
||||
altName?.let {
|
||||
description = "$description\n\n$altNamePrefix$altName".trim()
|
||||
}
|
||||
val genres = seriesDetails.select(seriesGenreSelector).map { it.text() }.toMutableList()
|
||||
// Add series type (manga/manhwa/manhua/other) to genre
|
||||
seriesDetails.selectFirst(seriesTypeSelector)?.ownText().takeIf { it.isNullOrBlank().not() }?.let { genres.add(it) }
|
||||
genre = genres.map { genre ->
|
||||
genre.lowercase(Locale.forLanguageTag(lang)).replaceFirstChar { char ->
|
||||
if (char.isLowerCase()) {
|
||||
char.titlecase(Locale.forLanguageTag(lang))
|
||||
} else {
|
||||
char.toString()
|
||||
}
|
||||
}
|
||||
}
|
||||
.joinToString { it.trim() }
|
||||
|
||||
status = seriesDetails.selectFirst(seriesStatusSelector)?.text().parseStatus()
|
||||
seriesDetails.select(seriesThumbnailSelector).firstOrNull()?.let { thumbnail_url = it.imgAttr() }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user