From 23df9f7f70c37809c549f2e240cff3a79fd6a621 Mon Sep 17 00:00:00 2001
From: CVIUS <84634607+CVIUS@users.noreply.github.com>
Date: Sat, 26 Jun 2021 00:58:51 +0800
Subject: [PATCH] fix some madara sources (#7873)

* Delete multisrc/overrides/madara/mangame/mangame/res directory

* move icon directory

i placed it wrong ehhh

* remove xtra space lol

* remove xtra space lol

* Update MidnightMessScans.kt

* bump versions

* Update MadaraGenerator.kt

* Update MidnightMessScans.kt

* Update MidnightMessScans.kt
---
 .../res/mipmap-hdpi/ic_launcher.png           | Bin
 .../res/mipmap-mdpi/ic_launcher.png           | Bin
 .../res/mipmap-xhdpi/ic_launcher.png          | Bin
 .../res/mipmap-xxhdpi/ic_launcher.png         | Bin
 .../res/mipmap-xxxhdpi/ic_launcher.png        | Bin
 .../{mangame => }/res/web_hi_res_512.png      | Bin
 .../overrides/madara/mangame/src/MangaMe.kt   |   2 +-
 .../madara/manhuadex/src/ManhuaDex.kt         |   2 +-
 .../src/MidnightMessScans.kt                  |  90 ++++++++++++++++--
 .../multisrc/madara/MadaraGenerator.kt        |   2 +-
 10 files changed, 87 insertions(+), 9 deletions(-)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/mipmap-hdpi/ic_launcher.png (100%)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/mipmap-mdpi/ic_launcher.png (100%)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/mipmap-xhdpi/ic_launcher.png (100%)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/mipmap-xxhdpi/ic_launcher.png (100%)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/mipmap-xxxhdpi/ic_launcher.png (100%)
 rename multisrc/overrides/madara/mangame/{mangame => }/res/web_hi_res_512.png (100%)

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),