From facc1d7bfdf550345774ed2a83c67e3ea9690dcd Mon Sep 17 00:00:00 2001 From: Gauthier Date: Sun, 19 Apr 2020 21:22:24 +0800 Subject: [PATCH] use SourceFactory to have multiple Komga servers (3 for the moment) (#2707) while waiting for https://github.com/inorichi/tachiyomi/pull/2196 this should suffice for most users --- src/all/komga/build.gradle | 4 ++-- .../tachiyomi/extension/all/komga/Komga.kt | 24 +++++++++++++++---- .../extension/all/komga/KomgaFactory.kt | 15 ++++++++++++ 3 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/KomgaFactory.kt diff --git a/src/all/komga/build.gradle b/src/all/komga/build.gradle index 1bc6c9605..96388179d 100644 --- a/src/all/komga/build.gradle +++ b/src/all/komga/build.gradle @@ -4,8 +4,8 @@ apply plugin: 'kotlin-android' ext { appName = 'Tachiyomi: Komga' pkgNameSuffix = 'all.komga' - extClass = '.Komga' - extVersionCode = 8 + extClass = '.KomgaFactory' + extVersionCode = 9 libVersion = '1.2' } diff --git a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt index 24700515e..4436b9fc0 100644 --- a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt +++ b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt @@ -8,12 +8,26 @@ import android.widget.Toast import com.github.salomonbrys.kotson.fromJson import com.google.gson.Gson import eu.kanade.tachiyomi.extension.BuildConfig -import eu.kanade.tachiyomi.extension.all.komga.dto.* +import eu.kanade.tachiyomi.extension.all.komga.dto.BookDto +import eu.kanade.tachiyomi.extension.all.komga.dto.LibraryDto +import eu.kanade.tachiyomi.extension.all.komga.dto.PageDto +import eu.kanade.tachiyomi.extension.all.komga.dto.PageWrapperDto +import eu.kanade.tachiyomi.extension.all.komga.dto.SeriesDto import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.model.* +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.HttpSource -import okhttp3.* +import okhttp3.Credentials +import okhttp3.Headers +import okhttp3.HttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response import rx.Single import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers @@ -22,7 +36,7 @@ import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.* -open class Komga : ConfigurableSource, HttpSource() { +open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() { override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/api/v1/series?page=${page - 1}", headers) @@ -178,7 +192,7 @@ open class Komga : ConfigurableSource, HttpSource() { private var libraries = emptyList() - override val name = "Komga" + override val name = "Komga${if (suffix.isNotBlank()) " ($suffix)" else ""}" override val lang = "en" override val supportsLatest = true diff --git a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/KomgaFactory.kt b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/KomgaFactory.kt new file mode 100644 index 000000000..2b855a475 --- /dev/null +++ b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/KomgaFactory.kt @@ -0,0 +1,15 @@ +package eu.kanade.tachiyomi.extension.all.komga + +import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.SourceFactory + +class KomgaFactory : SourceFactory { + + override fun createSources(): List = + listOf( + Komga(), + Komga("2"), + Komga("3") + ) + +}