diff --git a/multisrc/overrides/madara/mangame/mangame/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/mangame/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/madara/mangame/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/madara/mangame/mangame/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/mangame/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/madara/mangame/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/madara/mangame/mangame/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/mangame/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/madara/mangame/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/madara/mangame/mangame/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangame/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/madara/mangame/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/madara/mangame/mangame/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangame/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/madara/mangame/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/madara/mangame/mangame/res/web_hi_res_512.png b/multisrc/overrides/madara/mangame/res/web_hi_res_512.png similarity index 100% rename from multisrc/overrides/madara/mangame/mangame/res/web_hi_res_512.png rename to multisrc/overrides/madara/mangame/res/web_hi_res_512.png diff --git a/multisrc/overrides/madara/mangame/src/MangaMe.kt b/multisrc/overrides/madara/mangame/src/MangaMe.kt index 05ffa8b95..1384af31a 100644 --- a/multisrc/overrides/madara/mangame/src/MangaMe.kt +++ b/multisrc/overrides/madara/mangame/src/MangaMe.kt @@ -8,7 +8,7 @@ class MangaMe : Madara( "MangaMe", "https://mangame.org", "en", - dateFormat = SimpleDateFormat("dd.MM.yyyy ", Locale.US) + dateFormat = SimpleDateFormat("dd.MM.yyyy", Locale.US) ) { } diff --git a/multisrc/overrides/madara/manhuadex/src/ManhuaDex.kt b/multisrc/overrides/madara/manhuadex/src/ManhuaDex.kt index 625b5a09e..a33675e2c 100644 --- a/multisrc/overrides/madara/manhuadex/src/ManhuaDex.kt +++ b/multisrc/overrides/madara/manhuadex/src/ManhuaDex.kt @@ -8,7 +8,7 @@ class ManhuaDex : Madara( "ManhuaDex", "https://manhuadex.com", "en", - dateFormat = SimpleDateFormat("dd MMMM yyyy ", Locale.US) + dateFormat = SimpleDateFormat("dd MMMM yyyy", Locale.US) ) { } diff --git a/multisrc/overrides/madara/midnightmessscans/src/MidnightMessScans.kt b/multisrc/overrides/madara/midnightmessscans/src/MidnightMessScans.kt index cacf0e401..f4d72c8a3 100644 --- a/multisrc/overrides/madara/midnightmessscans/src/MidnightMessScans.kt +++ b/multisrc/overrides/madara/midnightmessscans/src/MidnightMessScans.kt @@ -2,19 +2,97 @@ package eu.kanade.tachiyomi.extension.en.midnightmessscans import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.annotations.Nsfw +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.network.asObservable +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.CacheControl +import okhttp3.FormBody +import okhttp3.Headers +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.RequestBody.Companion.toRequestBody +import okhttp3.Response import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import rx.Observable +import java.text.ParseException +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale +import java.util.concurrent.TimeUnit +import kotlin.math.absoluteValue +import kotlin.random.Random @Nsfw class MidnightMessScans : Madara("Midnight Mess Scans", "https://midnightmess.org", "en") { - + override fun mangaDetailsParse(document: Document): SManga { val manga = SManga.create() - - document.select("div.post-content").let { - manga.description = it.select("div.manga-excerpt").text() + with(document) { + select("div.post-title h3").first()?.let { + manga.title = it.ownText() + } + select("div.author-content").first()?.let { + if (it.text().notUpdating()) manga.author = it.text() + } + select("div.artist-content").first()?.let { + if (it.text().notUpdating()) manga.artist = it.text() + } + select("div.summary_content div.post-content").let { + manga.description = it.select("div.manga-excerpt").text() + } + select("div.summary_image img").first()?.let { + manga.thumbnail_url = imageFromElement(it) + } + select("div.summary-content").last()?.let { + manga.status = when (it.text()) { + // I don't know what's the corresponding for COMPLETED and LICENSED + // There's no support for "Canceled" or "On Hold" + "Completed", "Completo", "Concluído", "Concluido", "Terminé" -> SManga.COMPLETED + "OnGoing", "Продолжается", "Updating", "Em Lançamento", "Em andamento", "Em Andamento", "En cours", "Ativo", "Lançando" -> SManga.ONGOING + else -> SManga.UNKNOWN + } + } + val genres = select("div.genres-content a") + .map { element -> element.text().toLowerCase(Locale.ROOT) } + .toMutableSet() + + // add tag(s) to genre + select("div.tags-content a").forEach { element -> + if (genres.contains(element.text()).not()) { + genres.add(element.text().toLowerCase(Locale.ROOT)) + } + } + + // add manga/manhwa/manhua thinggy to genre + document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let { + if (it.isEmpty().not() && it.notUpdating() && it != "-" && genres.contains(it).not()) { + genres.add(it.toLowerCase(Locale.ROOT)) + } + } + + manga.genre = genres.toList().joinToString(", ") { it.capitalize(Locale.ROOT) } + + // add alternative name to manga description + document.select(altNameSelector).firstOrNull()?.ownText()?.let { + if (it.isEmpty().not() && it.notUpdating()) { + manga.description += when { + manga.description.isNullOrEmpty() -> altName + it + else -> "\n\n$altName" + it + } + } + } } - - return manga + + return manga } } diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index a912871a5..10844187c 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -206,7 +206,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Mark Scans", "https://markscans.online", "pt-BR", overrideVersionCode = 2), SingleLang("MHentais", "https://mhentais.com", "pt-BR", isNsfw = true), SingleLang("NeoXXX Scans", "https://xxx.neoxscans.net", "pt-BR", isNsfw = true), - SingleLang("Midnight Mess Scans", "https://midnightmess.org", "en", isNsfw = true, overrideVersionCode = 3), + SingleLang("Midnight Mess Scans", "https://midnightmess.org", "en", isNsfw = true, overrideVersionCode = 4), SingleLang("Milftoon", "https://milftoon.xxx", "en", isNsfw = true, overrideVersionCode = 2), SingleLang("Mixed Manga", "https://mixedmanga.com", "en", overrideVersionCode = 1), SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 1),