diff --git a/src/en/jaiminisbox/build.gradle b/src/all/foolslide/build.gradle similarity index 73% rename from src/en/jaiminisbox/build.gradle rename to src/all/foolslide/build.gradle index 2551b43a4..019c3c09a 100644 --- a/src/en/jaiminisbox/build.gradle +++ b/src/all/foolslide/build.gradle @@ -2,9 +2,9 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' ext { - appName = 'Tachiyomi: Jaiminis Box' - pkgNameSuffix = "en.jaiminisbox" - extClass = '.JaiminisBox' + appName = 'Tachiyomi: FoolSlide' + pkgNameSuffix = "all.foolslide" + extClass = '.FoolSlideFactory' extVersionCode = 1 extVersionSuffix = 0 libVersion = '1.2' diff --git a/src/all/foolslide/res/mipmap-hdpi/ic_launcher.png b/src/all/foolslide/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..707828065 Binary files /dev/null and b/src/all/foolslide/res/mipmap-hdpi/ic_launcher.png differ diff --git a/src/all/foolslide/res/mipmap-mdpi/ic_launcher.png b/src/all/foolslide/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..5fa62ecd3 Binary files /dev/null and b/src/all/foolslide/res/mipmap-mdpi/ic_launcher.png differ diff --git a/src/all/foolslide/res/mipmap-xhdpi/ic_launcher.png b/src/all/foolslide/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..dc4e63998 Binary files /dev/null and b/src/all/foolslide/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/src/all/foolslide/res/mipmap-xxhdpi/ic_launcher.png b/src/all/foolslide/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..1c14238ea Binary files /dev/null and b/src/all/foolslide/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/src/all/foolslide/res/mipmap-xxxhdpi/ic_launcher.png b/src/all/foolslide/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..1bf956780 Binary files /dev/null and b/src/all/foolslide/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/src/all/foolslide/res/web_hi_res_512.png b/src/all/foolslide/res/web_hi_res_512.png new file mode 100644 index 000000000..f6a0233e7 Binary files /dev/null and b/src/all/foolslide/res/web_hi_res_512.png differ diff --git a/src/en/jaiminisbox/src/eu/kanade/tachiyomi/extension/en/jaiminisbox/JaiminisBox.kt b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlide.kt similarity index 85% rename from src/en/jaiminisbox/src/eu/kanade/tachiyomi/extension/en/jaiminisbox/JaiminisBox.kt rename to src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlide.kt index 49c407e75..42c4abda9 100644 --- a/src/en/jaiminisbox/src/eu/kanade/tachiyomi/extension/en/jaiminisbox/JaiminisBox.kt +++ b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlide.kt @@ -1,6 +1,5 @@ -package eu.kanade.tachiyomi.extension.en.jaiminisbox +package eu.kanade.tachiyomi.extension.all.foolslide -import android.util.Base64 import com.github.salomonbrys.kotson.get import com.google.gson.JsonParser import eu.kanade.tachiyomi.network.GET @@ -17,26 +16,23 @@ import org.jsoup.nodes.Element import java.text.ParseException import java.text.SimpleDateFormat -class JaiminisBox : ParsedHttpSource() { - - override val name = "Jaimini's Box" - - override val baseUrl = "https://jaiminisbox.com" - - override val lang = "en" +/** + * Created by Carlos on 3/14/2018. + */ +open class FoolSlide(override val name: String, override val baseUrl: String, override val lang: String, private val urlModifier: String = "") : ParsedHttpSource() { override val supportsLatest = true override fun popularMangaSelector() = "div.group" override fun popularMangaRequest(page: Int): Request { - return GET("$baseUrl/reader/directory/$page/", headers) + return GET("$baseUrl$urlModifier/directory/$page/", headers) } override fun latestUpdatesSelector() = "div.group" override fun latestUpdatesRequest(page: Int): Request { - return GET("$baseUrl/reader/latest/$page/") + return GET("$baseUrl$urlModifier/latest/$page/") } override fun popularMangaFromElement(element: Element): SManga { @@ -72,7 +68,7 @@ class JaiminisBox : ParsedHttpSource() { add("search", query) } - return POST("$baseUrl/reader/search/", headers, form.build()) + return POST("$baseUrl$urlModifier/search/", headers, form.build()) } override fun searchMangaSelector() = "div.group" @@ -122,10 +118,8 @@ class JaiminisBox : ParsedHttpSource() { override fun pageListParse(document: Document): List { val doc = document.toString() - - val base64Json = doc.substringAfter("JSON.parse(atob(\"").substringBefore("\"));") - val decodeJson = String(Base64.decode(base64Json, Base64.DEFAULT)) - val json = JsonParser().parse(decodeJson).asJsonArray + val jsonstr = doc.substringAfter("var pages = ").substringBefore(";") + val json = JsonParser().parse(jsonstr).asJsonArray val pages = mutableListOf() json.forEach { pages.add(Page(pages.size, "", it.get("url").asString)) diff --git a/src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlideFactory.kt b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlideFactory.kt new file mode 100644 index 000000000..522e7a098 --- /dev/null +++ b/src/all/foolslide/src/eu/kanade/tachiyomi/extension/en/foolslide/FoolSlideFactory.kt @@ -0,0 +1,38 @@ +package eu.kanade.tachiyomi.extension.all.foolslide + +import android.util.Base64 +import com.github.salomonbrys.kotson.get +import com.google.gson.JsonParser +import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.SourceFactory +import eu.kanade.tachiyomi.source.model.Page +import org.jsoup.nodes.Document + +/** + * Created by Carlos on 3/14/2018. + */ +class FoolSlideFactory : SourceFactory { + override fun createSources(): List = getAllFoolSlide() +} + + +fun getAllFoolSlide(): List { + return listOf(JaminisBox(), ChampionScans()) +} + +class JaminisBox : FoolSlide("Jaimini's Box", "https://jaiminisbox.com", "en", "/reader") { + + override fun pageListParse(document: Document): List { + val doc = document.toString() + val base64Json = doc.substringAfter("JSON.parse(atob(\"").substringBefore("\"));") + val decodeJson = String(Base64.decode(base64Json, Base64.DEFAULT)) + val json = JsonParser().parse(decodeJson).asJsonArray + val pages = mutableListOf() + json.forEach { + pages.add(Page(pages.size, "", it.get("url").asString)) + } + return pages + } +} + +class ChampionScans : FoolSlide("Champion Scans", "http://reader.championscans.com", "en") diff --git a/src/en/jaiminisbox/res/mipmap-hdpi/ic_launcher.png b/src/en/jaiminisbox/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 3c47cc85e..000000000 Binary files a/src/en/jaiminisbox/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/jaiminisbox/res/mipmap-mdpi/ic_launcher.png b/src/en/jaiminisbox/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index f5396d341..000000000 Binary files a/src/en/jaiminisbox/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/jaiminisbox/res/mipmap-xhdpi/ic_launcher.png b/src/en/jaiminisbox/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 9f08fe550..000000000 Binary files a/src/en/jaiminisbox/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/jaiminisbox/res/mipmap-xxhdpi/ic_launcher.png b/src/en/jaiminisbox/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index a6741c8db..000000000 Binary files a/src/en/jaiminisbox/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/jaiminisbox/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/jaiminisbox/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index bbeb4bd96..000000000 Binary files a/src/en/jaiminisbox/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/en/jaiminisbox/res/web_hi_res_512.png b/src/en/jaiminisbox/res/web_hi_res_512.png deleted file mode 100644 index 561b0cc53..000000000 Binary files a/src/en/jaiminisbox/res/web_hi_res_512.png and /dev/null differ