diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/model/MangaState.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/model/MangaState.kt index 8ade6049..115d0d11 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/model/MangaState.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/model/MangaState.kt @@ -1,5 +1,5 @@ package org.koitharu.kotatsu.parsers.model enum class MangaState { - ONGOING, FINISHED, ABANDONED + ONGOING, FINISHED, ABANDONED, HIATUS } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/BentomangaParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/BentomangaParser.kt index 2ba81758..9ffeacb3 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/BentomangaParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/BentomangaParser.kt @@ -99,11 +99,14 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser( val root = webClient.httpGet(mangaUrl).parseHtml() .requireElementById("container_manga_show") return manga.copy( - altTitle = root.selectFirst(".component-manga-title_alt")?.textOrNull().assertNotNull("altTitle"), + altTitle = root.selectFirst(".component-manga-title_alt")?.text(), description = root.selectFirst(".datas_synopsis")?.html().assertNotNull("description") ?: manga.description, state = when (root.selectFirst(".datas_more-status-data")?.textOrNull().assertNotNull("status")) { "En cours" -> MangaState.ONGOING + "Terminé" -> MangaState.FINISHED + "Abandonné" -> MangaState.ABANDONED + "En pause" -> MangaState.HIATUS else -> null }, author = root.selectFirst(".datas_more-authors-people")?.textOrNull().assertNotNull("author"), diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/FmTeam.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/FmTeam.kt index cb66169c..f13d7dae 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/FmTeam.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/fr/FmTeam.kt @@ -29,11 +29,9 @@ internal class FmTeam(context: MangaLoaderContext) : if (page > 1) { return emptyList() } - val jsonManga = if (!query.isNullOrEmpty()) { //3 letters minimum webClient.httpGet("https://$domain/api/search/${query.urlEncoded()}").parseJson().getJSONArray("comics") - } else { webClient.httpGet("https://$domain/api/comics").parseJson().getJSONArray("comics") } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt index 59966096..ea59fbb4 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/HeanCms.kt @@ -100,6 +100,7 @@ internal abstract class HeanCms( "Ongoing" -> MangaState.ONGOING "Completed" -> MangaState.FINISHED "Dropped" -> MangaState.ABANDONED + "Hiatus" -> MangaState.HIATUS else -> null }, author = null, diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/es/YugenMangasEs.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/es/YugenMangasEs.kt index 9467a317..0056f1ec 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/es/YugenMangasEs.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/heancms/es/YugenMangasEs.kt @@ -84,6 +84,7 @@ internal class YugenMangasEs(context: MangaLoaderContext) : "Ongoing" -> MangaState.ONGOING "Completed" -> MangaState.FINISHED "Dropped" -> MangaState.ABANDONED + "Hiatus" -> MangaState.HIATUS else -> null }, author = null, diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt index 2bfbccae..18d03012 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/madara/MadaraParser.kt @@ -137,6 +137,15 @@ internal abstract class MadaraParser( "Abandonné", ) + @JvmField + protected val hiatus: Set = hashSetOf( + "On Hold", + "Pausado", + "En espera", + "En pause", + "En attente", + ) + // Change these values only if the site does not support manga listings via ajax protected open val withoutAjax = false @@ -232,11 +241,11 @@ internal abstract class MadaraParser( ) }.orEmpty(), author = summary?.selectFirst(".mg_author")?.selectFirst("a")?.ownText(), - state = when (summary?.selectFirst(".mg_status")?.selectFirst(".summary-content")?.ownText() - ?.lowercase()) { + state = when (summary?.selectFirst(".mg_status")?.selectFirst(".summary-content")?.ownText()) { in ongoing -> MangaState.ONGOING in finished -> MangaState.FINISHED in abandoned -> MangaState.ABANDONED + in hiatus -> MangaState.HIATUS else -> null }, source = source, @@ -314,6 +323,7 @@ internal abstract class MadaraParser( in ongoing -> MangaState.ONGOING in finished -> MangaState.FINISHED in abandoned -> MangaState.ABANDONED + in hiatus -> MangaState.HIATUS else -> null } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt index 0c573b3f..1a4ca709 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/MangaReaderParser.kt @@ -181,20 +181,24 @@ internal abstract class MangaReaderParser( val mangaState = state?.let { when (it.text()) { - "مستمرة", "En curso", "En Curso", "Ongoing", "OnGoing", "On going", "Ativo", "En Cours", "En cours", - "En cours \uD83D\uDFE2", "En cours de publication", "Đang tiến hành", "Em lançamento", "em lançamento", "Em Lançamento", - "Онгоінг", "Publishing", "Devam Ediyor", "Em Andamento", "In Corso", "Güncel", "Berjalan", "Продолжается", "Updating", - "Lançando", "In Arrivo", "Emision", "En emision", "مستمر", "Curso", "En marcha", "Publicandose", "Publicando", "连载中", - "Devam ediyor", "Devam Etmekte", + + "مستمرة", "En curso", "En Curso", "Ongoing", "OnGoing", "On going", "Ativo", "En Cours", "En cours", "En cours \uD83D\uDFE2", + "En cours de publication", "Đang tiến hành", "Em lançamento", "em lançamento", "Em Lançamento", "Онгоінг", "Publishing", + "Devam Ediyor", "Em Andamento", "In Corso", "Güncel", "Berjalan", "Продолжается", "Updating", "Lançando", "In Arrivo", "Emision", + "En emision", "مستمر", "Curso", "En marcha", "Publicandose", "Publicando", "连载中", "Devam ediyor", "Devam Etmekte", -> MangaState.ONGOING - "Completed", "Completo", "Complété", "Fini", "Achevé", "Terminé", "Terminé ⚫", "Tamamlandı", "Đã hoàn thành", "Hoàn Thành", "مكتملة", - "Завершено", "Finished", "Finalizado", "Completata", "One-Shot", "Bitti", "Tamat", "Completado", "Concluído", "Concluido", "已完结", "Bitmiş", + "Completed", "Completo", "Complété", "Fini", "Achevé", "Terminé", "Terminé ⚫", "Tamamlandı", "Đã hoàn thành", "Hoàn Thành", + "مكتملة", "Завершено", "Finished", "Finalizado", "Completata", "One-Shot", "Bitti", "Tamat", "Completado", "Concluído", + "Concluido", "已完结", "Bitmiş", -> MangaState.FINISHED "Canceled", "Cancelled", "Cancelado", "cancellato", "Cancelados", "Dropped", "Discontinued", "abandonné", "Abandonné", -> MangaState.ABANDONED + "On Hold", "Pausado", "En espera", "En pause", "En Pause", "En attente", + -> MangaState.HIATUS + else -> null } } diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt index 89e94ec6..2acd6703 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/nepnep/NepnepParser.kt @@ -138,12 +138,18 @@ internal abstract class NepnepParser( return manga.copy( altTitle = null, state = when (doc.selectFirstOrThrow(".list-group-item:contains(Status:) a").text()) { - "Ongoing (Scan)", "Ongoing (Publish)" -> MangaState.ONGOING + "Ongoing (Scan)", "Ongoing (Publish)", + -> MangaState.ONGOING + "Complete (Scan)", "Complete (Publish)", + -> MangaState.FINISHED + "Cancelled (Scan)", "Cancelled (Publish)", "Discontinued (Scan)", "Discontinued (Publish)", + -> MangaState.ABANDONED + "Hiatus (Scan)", "Hiatus (Publish)", - -> MangaState.FINISHED + -> MangaState.HIATUS else -> null },