|
|
|
|
@ -58,18 +58,14 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
|
|
|
|
|
open suspend fun parseInfoTable(docs: Document, manga: Manga, chapters: List<MangaChapter>): Manga {
|
|
|
|
|
val mangaInfo =
|
|
|
|
|
docs.selectFirst("div.seriestucontent > div.seriestucontentr") ?:
|
|
|
|
|
docs.selectFirst("div.seriestucontentr") ?:
|
|
|
|
|
docs.selectFirst("div.seriestucon")
|
|
|
|
|
docs.selectFirst("div.seriestucontent > div.seriestucontentr") ?: docs.selectFirst("div.seriestucontentr")
|
|
|
|
|
?: docs.selectFirst("div.seriestucon")
|
|
|
|
|
|
|
|
|
|
val state_select =
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Status)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Statut)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(حالة العمل)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Estado)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(สถานะ)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Stato )") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Durum)")
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Status)") ?: docs.selectFirst(".tsinfo div:contains(Statut)")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(حالة العمل)") ?: docs.selectFirst(".tsinfo div:contains(Estado)")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(สถานะ)") ?: docs.selectFirst(".tsinfo div:contains(Stato )")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(Durum)")
|
|
|
|
|
|
|
|
|
|
val mangaState = state_select?.lastElementChild()?.let {
|
|
|
|
|
when (it.text()) {
|
|
|
|
|
@ -86,8 +82,9 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
"Publishing",
|
|
|
|
|
"Devam Ediyor",
|
|
|
|
|
"Em Andamento",
|
|
|
|
|
"In Corso"
|
|
|
|
|
"In Corso",
|
|
|
|
|
-> MangaState.ONGOING
|
|
|
|
|
|
|
|
|
|
"Completed",
|
|
|
|
|
"Completo",
|
|
|
|
|
"Complété",
|
|
|
|
|
@ -99,8 +96,9 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
"Завершено",
|
|
|
|
|
"Finished",
|
|
|
|
|
"Finalizado",
|
|
|
|
|
"Completata"
|
|
|
|
|
"Completata",
|
|
|
|
|
-> MangaState.FINISHED
|
|
|
|
|
|
|
|
|
|
else -> null
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -120,13 +118,10 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
open suspend fun parseInfoList(docs: Document, manga: Manga, chapters: List<MangaChapter>): Manga {
|
|
|
|
|
|
|
|
|
|
val state_select =
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Status)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Statut)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(حالة العمل)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Estado)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(สถานะ)") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Stato )") ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Durum)")
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Status)") ?: docs.selectFirst(".tsinfo div:contains(Statut)")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(حالة العمل)") ?: docs.selectFirst(".tsinfo div:contains(Estado)")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(สถานะ)") ?: docs.selectFirst(".tsinfo div:contains(Stato )")
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(Durum)")
|
|
|
|
|
|
|
|
|
|
val mangaState = state_select?.lastElementChild()?.let {
|
|
|
|
|
when (it.text()) {
|
|
|
|
|
@ -143,8 +138,9 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
"Publishing",
|
|
|
|
|
"Devam Ediyor",
|
|
|
|
|
"Em Andamento",
|
|
|
|
|
"In Corso"
|
|
|
|
|
"In Corso",
|
|
|
|
|
-> MangaState.ONGOING
|
|
|
|
|
|
|
|
|
|
"Completed",
|
|
|
|
|
"Completo",
|
|
|
|
|
"Complété",
|
|
|
|
|
@ -156,8 +152,9 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
"Завершено",
|
|
|
|
|
"Finished",
|
|
|
|
|
"Finalizado",
|
|
|
|
|
"Completata"
|
|
|
|
|
"Completata",
|
|
|
|
|
-> MangaState.FINISHED
|
|
|
|
|
|
|
|
|
|
else -> null
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -170,10 +167,10 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
|
|
|
|
|
state = mangaState,
|
|
|
|
|
author =
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Author)")?.lastElementChild()?.text() ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Auteur)")?.lastElementChild()?.text() ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Artist)")?.lastElementChild()?.text() ?:
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Durum)")?.lastElementChild()?.text() ,
|
|
|
|
|
docs.selectFirst(".tsinfo div:contains(Author)")?.lastElementChild()?.text()
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(Auteur)")?.lastElementChild()?.text()
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(Artist)")?.lastElementChild()?.text()
|
|
|
|
|
?: docs.selectFirst(".tsinfo div:contains(Durum)")?.lastElementChild()?.text(),
|
|
|
|
|
|
|
|
|
|
isNsfw = manga.isNsfw
|
|
|
|
|
|| docs.selectFirst(".info-right .alr") != null
|
|
|
|
|
@ -184,7 +181,6 @@ internal abstract class MangaReaderParser(
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun getListPage(
|
|
|
|
|
page: Int,
|
|
|
|
|
query: String?,
|
|
|
|
|
|