From 908d2e9d095a64abf4f28ba81d1fb77a44120b18 Mon Sep 17 00:00:00 2001
From: jobobby04 <jobobby04@users.noreply.github.com>
Date: Wed, 12 Aug 2020 00:04:28 -0400
Subject: [PATCH] NHentai - add a "other" language for those who want to use
 NHentai unfiltered (#4084)

---
 src/all/nhentai/build.gradle                               | 2 +-
 .../eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt | 3 ++-
 .../eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt   | 7 ++++---
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/all/nhentai/build.gradle b/src/all/nhentai/build.gradle
index 5efca52de..87ee88fb2 100644
--- a/src/all/nhentai/build.gradle
+++ b/src/all/nhentai/build.gradle
@@ -5,7 +5,7 @@ ext {
     extName = 'NHentai'
     pkgNameSuffix = 'all.nhentai'
     extClass = '.NHFactory'
-    extVersionCode = 27
+    extVersionCode = 28
     libVersion = '1.2'
     containsNsfw = true
 }
diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt
index ff394df46..722c4f673 100644
--- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt
+++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHFactory.kt
@@ -9,6 +9,7 @@ class NHFactory : SourceFactory {
     override fun createSources(): List<Source> = listOf(
         NHentai("en", "english"),
         NHentai("ja", "japanese"),
-        NHentai("zh", "chinese")
+        NHentai("zh", "chinese"),
+        NHentai("other", "")
     )
 }
diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt
index bc06b5c93..e2ff79285 100644
--- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt
+++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt
@@ -106,7 +106,7 @@ open class NHentai(
         screen.addPreference(serverPref)
     }
 
-    override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/language/$nhLang/?page=$page", headers)
+    override fun latestUpdatesRequest(page: Int) = GET(if (nhLang.isBlank()) "$baseUrl/?page=$page" else "$baseUrl/language/$nhLang/?page=$page", headers)
 
     override fun latestUpdatesSelector() = "#content .gallery"
 
@@ -122,7 +122,7 @@ open class NHentai(
 
     override fun latestUpdatesNextPageSelector() = "#content > section.pagination > a.next"
 
-    override fun popularMangaRequest(page: Int) = GET("$baseUrl/language/$nhLang/popular?page=$page", headers)
+    override fun popularMangaRequest(page: Int) = GET(if (nhLang.isBlank()) "$baseUrl/?page=$page" else "$baseUrl/language/$nhLang/popular?page=$page", headers)
 
     override fun popularMangaFromElement(element: Element) = latestUpdatesFromElement(element)
 
@@ -155,6 +155,7 @@ open class NHentai(
 
     override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
         val filterList = if (filters.isEmpty()) getFilterList() else filters
+        val nhLangSearch = if (nhLang.isBlank()) "" else "+$nhLang "
         val advQuery = combineQuery(filterList)
         val favoriteFilter = filterList.findInstance<FavoriteFilter>()
         val isOkayToSort = filterList.findInstance<UploadedFilter>()?.state?.isBlank() ?: true
@@ -167,7 +168,7 @@ open class NHentai(
             return GET(url.toString(), headers)
         } else {
             val url = HttpUrl.parse("$baseUrl/search")!!.newBuilder()
-                .addQueryParameter("q", "$query +$nhLang $advQuery")
+                .addQueryParameter("q", "$query $nhLangSearch$advQuery")
                 .addQueryParameter("page", page.toString())
 
             if (isOkayToSort) {