From 9ffeb13ef39dba941a9049549a160bca163d70fd Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Thu, 4 Jul 2024 16:58:54 +0700 Subject: [PATCH] refactor: Update usage of delegated sources' ids --- .../backup/restore/restorers/MangaRestorer.kt | 3 +++ .../tachiyomi/source/online/all/NHentai.kt | 3 ++- app/src/main/java/exh/EXHMigrations.kt | 16 +++++++++++----- app/src/main/java/exh/debug/DebugFunctions.kt | 6 +++--- .../migrations/DelegateHBrowseMigration.kt | 3 ++- .../migrations/DelegateNHentaiMigration.kt | 5 +++-- .../commonMain/kotlin/exh/source/SourceIds.kt | 13 +++++++++---- 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt index e62417e4d..e51b63b10 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt @@ -68,6 +68,9 @@ class MangaRestorer( ) } + /** + * Restore a single manga + */ suspend fun restoreManga( backupManga: BackupManga, backupCategories: List, diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt index 213adf1b8..3e97ffacc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/NHentai.kt @@ -21,6 +21,7 @@ import exh.metadata.metadata.NHentaiSearchMetadata import exh.metadata.metadata.RaisedSearchMetadata import exh.metadata.metadata.base.RaisedTag import exh.source.DelegatedHttpSource +import exh.source.NHENTAI_SOURCE_ID import exh.util.trimOrNull import exh.util.urlImportFetchSearchManga import exh.util.urlImportFetchSearchMangaSuspend @@ -214,7 +215,7 @@ class NHentai(delegate: HttpSource, val context: Context) : } companion object { - const val otherId = 7309872737163460316L + const val otherId = NHENTAI_SOURCE_ID private val jsonParser = Json { ignoreUnknownKeys = true diff --git a/app/src/main/java/exh/EXHMigrations.kt b/app/src/main/java/exh/EXHMigrations.kt index 81ba03268..76789e776 100644 --- a/app/src/main/java/exh/EXHMigrations.kt +++ b/app/src/main/java/exh/EXHMigrations.kt @@ -1,9 +1,12 @@ package exh -import eu.kanade.tachiyomi.source.online.all.NHentai import exh.source.BlacklistedSources import exh.source.EH_SOURCE_ID +import exh.source.HBROWSE_OLD_ID import exh.source.HBROWSE_SOURCE_ID +import exh.source.NHENTAI_OLD_ID +import exh.source.NHENTAI_SOURCE_ID +import exh.source.TSUMINO_OLD_ID import exh.source.TSUMINO_SOURCE_ID import tachiyomi.domain.manga.model.Manga import java.net.URI @@ -11,25 +14,28 @@ import java.net.URISyntaxException object EXHMigrations { + /** + * Migrate old source ID of delegated sources in old backup + */ fun migrateBackupEntry(manga: Manga): Manga { var newManga = manga - if (newManga.source == 6907L) { + if (newManga.source == NHENTAI_OLD_ID) { newManga = newManga.copy( // Migrate the old source to the delegated one - source = NHentai.otherId, + source = NHENTAI_SOURCE_ID, // Migrate nhentai URLs url = getUrlWithoutDomain(newManga.url), ) } // Migrate Tsumino source IDs - if (newManga.source == 6909L) { + if (newManga.source == TSUMINO_OLD_ID) { newManga = newManga.copy( source = TSUMINO_SOURCE_ID, ) } - if (newManga.source == 6912L) { + if (newManga.source == HBROWSE_OLD_ID) { newManga = newManga.copy( source = HBROWSE_SOURCE_ID, url = newManga.url + "/c00001/", diff --git a/app/src/main/java/exh/debug/DebugFunctions.kt b/app/src/main/java/exh/debug/DebugFunctions.kt index 09186d238..e3d8736dd 100644 --- a/app/src/main/java/exh/debug/DebugFunctions.kt +++ b/app/src/main/java/exh/debug/DebugFunctions.kt @@ -8,13 +8,13 @@ import eu.kanade.tachiyomi.data.backup.models.Backup import eu.kanade.tachiyomi.data.library.LibraryUpdateJob import eu.kanade.tachiyomi.data.sync.SyncDataJob import eu.kanade.tachiyomi.source.AndroidSourceManager -import eu.kanade.tachiyomi.source.online.all.NHentai import eu.kanade.tachiyomi.util.system.workManager import exh.eh.EHentaiThrottleManager import exh.eh.EHentaiUpdateWorker import exh.metadata.metadata.EHentaiSearchMetadata import exh.source.EH_SOURCE_ID import exh.source.EXH_SOURCE_ID +import exh.source.NHENTAI_SOURCE_ID import exh.source.nHentaiSourceIds import exh.util.jobScheduler import kotlinx.coroutines.runBlocking @@ -299,9 +299,9 @@ object DebugFunctions { } fun migrateLangNhentaiToMultiLangSource() { - val sources = nHentaiSourceIds - NHentai.otherId + val sources = nHentaiSourceIds - NHENTAI_SOURCE_ID - runBlocking { handler.await { ehQueries.migrateAllNhentaiToOtherLang(NHentai.otherId, sources) } } + runBlocking { handler.await { ehQueries.migrateAllNhentaiToOtherLang(NHENTAI_SOURCE_ID, sources) } } } fun exportProtobufScheme() = ProtoBufSchemaGenerator.generateSchemaText(Backup.serializer().descriptor) diff --git a/app/src/main/java/mihon/core/migration/migrations/DelegateHBrowseMigration.kt b/app/src/main/java/mihon/core/migration/migrations/DelegateHBrowseMigration.kt index 6bdf8c28d..2fd77047b 100644 --- a/app/src/main/java/mihon/core/migration/migrations/DelegateHBrowseMigration.kt +++ b/app/src/main/java/mihon/core/migration/migrations/DelegateHBrowseMigration.kt @@ -1,6 +1,7 @@ package mihon.core.migration.migrations import eu.kanade.domain.manga.interactor.UpdateManga +import exh.source.HBROWSE_OLD_ID import exh.source.HBROWSE_SOURCE_ID import mihon.core.migration.MigrateUtils import mihon.core.migration.Migration @@ -15,7 +16,7 @@ class DelegateHBrowseMigration : Migration { override suspend fun invoke(migrationContext: MigrationContext): Boolean = withIOContext { val getMangaBySource = migrationContext.get() ?: return@withIOContext false val updateManga = migrationContext.get() ?: return@withIOContext false - MigrateUtils.updateSourceId(migrationContext, HBROWSE_SOURCE_ID, 6912) + MigrateUtils.updateSourceId(migrationContext, HBROWSE_SOURCE_ID, HBROWSE_OLD_ID) // Migrate BHrowse URLs val hBrowseManga = getMangaBySource.await(HBROWSE_SOURCE_ID) diff --git a/app/src/main/java/mihon/core/migration/migrations/DelegateNHentaiMigration.kt b/app/src/main/java/mihon/core/migration/migrations/DelegateNHentaiMigration.kt index e86c2da7c..13a867773 100644 --- a/app/src/main/java/mihon/core/migration/migrations/DelegateNHentaiMigration.kt +++ b/app/src/main/java/mihon/core/migration/migrations/DelegateNHentaiMigration.kt @@ -1,6 +1,7 @@ package mihon.core.migration.migrations -import eu.kanade.tachiyomi.source.online.all.NHentai +import exh.source.NHENTAI_OLD_ID +import exh.source.NHENTAI_SOURCE_ID import mihon.core.migration.MigrateUtils import mihon.core.migration.Migration import mihon.core.migration.MigrationContext @@ -10,7 +11,7 @@ class DelegateNHentaiMigration : Migration { override val version: Float = 6f override suspend fun invoke(migrationContext: MigrationContext): Boolean = withIOContext { - MigrateUtils.updateSourceId(migrationContext, NHentai.otherId, 6907) + MigrateUtils.updateSourceId(migrationContext, NHENTAI_SOURCE_ID, NHENTAI_OLD_ID) return@withIOContext true } diff --git a/source-api/src/commonMain/kotlin/exh/source/SourceIds.kt b/source-api/src/commonMain/kotlin/exh/source/SourceIds.kt index a3c1c9799..07bf5ceb0 100644 --- a/source-api/src/commonMain/kotlin/exh/source/SourceIds.kt +++ b/source-api/src/commonMain/kotlin/exh/source/SourceIds.kt @@ -4,8 +4,13 @@ package exh.source const val LEWD_SOURCE_SERIES = 6900L const val EH_SOURCE_ID = LEWD_SOURCE_SERIES + 1 const val EXH_SOURCE_ID = LEWD_SOURCE_SERIES + 2 -const val PURURIN_SOURCE_ID = 2221515250486218861 -const val TSUMINO_SOURCE_ID = 6707338697138388238 -const val EIGHTMUSES_SOURCE_ID = 1802675169972965535 -const val HBROWSE_SOURCE_ID = 1401584337232758222 +const val NHENTAI_SOURCE_ID = 7309872737163460316L +const val PURURIN_SOURCE_ID = 2221515250486218861L +const val TSUMINO_SOURCE_ID = 6707338697138388238L +const val EIGHTMUSES_SOURCE_ID = 1802675169972965535L +const val HBROWSE_SOURCE_ID = 1401584337232758222L const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69 + +const val NHENTAI_OLD_ID = 6907L +const val TSUMINO_OLD_ID = 6909L +const val HBROWSE_OLD_ID = 6912L