mirror of
https://github.com/tachiyomiorg/tachiyomi-extensions-inspector.git
synced 2025-02-28 14:33:36 +01:00
restore categories
This commit is contained in:
parent
a1349aa0e3
commit
fde137b3ed
@ -7,10 +7,13 @@ import com.google.gson.JsonObject
|
||||
import com.google.gson.JsonParser
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import ir.armor.tachidesk.impl.Category.createCategory
|
||||
import ir.armor.tachidesk.impl.Category.getCategoryList
|
||||
import ir.armor.tachidesk.impl.backup.legacy.LegacyBackupRestoreValidator.ValidationResult
|
||||
import ir.armor.tachidesk.impl.backup.legacy.LegacyBackupRestoreValidator.validate
|
||||
import ir.armor.tachidesk.impl.backup.legacy.models.Backup
|
||||
import ir.armor.tachidesk.impl.backup.legacy.models.DHistory
|
||||
import ir.armor.tachidesk.impl.backup.models.CategoryImpl
|
||||
import ir.armor.tachidesk.impl.backup.models.Chapter
|
||||
import ir.armor.tachidesk.impl.backup.models.ChapterImpl
|
||||
import ir.armor.tachidesk.impl.backup.models.Manga
|
||||
@ -77,13 +80,16 @@ object LegacyBackupImport : LegacyBackupBase() {
|
||||
return validationResult
|
||||
}
|
||||
|
||||
private fun restoreCategories(categoriesJson: JsonElement) { // TODO
|
||||
// db.inTransaction {
|
||||
// backupManager.restoreCategories(categoriesJson.asJsonArray)
|
||||
// }
|
||||
//
|
||||
// restoreProgress += 1
|
||||
// showRestoreProgress(restoreProgress, restoreAmount, context.getString(R.string.categories))
|
||||
private fun restoreCategories(jsonCategories: JsonElement) { // TODO
|
||||
val backupCategories = parser.fromJson<List<CategoryImpl>>(jsonCategories)
|
||||
val dbCategories = getCategoryList()
|
||||
|
||||
// Iterate over them
|
||||
backupCategories.forEach { category ->
|
||||
if (dbCategories.none { it.name == category.name }) {
|
||||
createCategory(category.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun restoreManga(mangaJson: JsonObject) {
|
||||
@ -145,10 +151,11 @@ object LegacyBackupImport : LegacyBackupBase() {
|
||||
history: List<DHistory>,
|
||||
tracks: List<Track>
|
||||
) {
|
||||
fetchManga(source, manga)
|
||||
val fetchedManga = fetchManga(source, manga)
|
||||
|
||||
// updateChapters(source, fetchedManga, chapters)
|
||||
updateChapters(source, fetchedManga, chapters)
|
||||
|
||||
// TODO
|
||||
// backupManager.restoreCategoriesForManga(manga, categories)
|
||||
|
||||
// backupManager.restoreHistoryForManga(history)
|
||||
@ -166,6 +173,7 @@ object LegacyBackupImport : LegacyBackupBase() {
|
||||
* @return Updated manga.
|
||||
*/
|
||||
private suspend fun fetchManga(source: Source, manga: Manga): SManga {
|
||||
// make sure we have the manga record in library
|
||||
transaction {
|
||||
if (MangaTable.select { (MangaTable.url eq manga.url) and (MangaTable.sourceReference eq manga.source) }.firstOrNull() == null) {
|
||||
MangaTable.insert {
|
||||
@ -180,8 +188,8 @@ object LegacyBackupImport : LegacyBackupBase() {
|
||||
}
|
||||
}
|
||||
|
||||
// update manga details
|
||||
val fetchedManga = source.fetchMangaDetails(manga).awaitSingle()
|
||||
|
||||
transaction {
|
||||
MangaTable.update({ (MangaTable.url eq manga.url) and (MangaTable.sourceReference eq manga.source) }) {
|
||||
|
||||
@ -197,4 +205,8 @@ object LegacyBackupImport : LegacyBackupBase() {
|
||||
|
||||
return fetchedManga
|
||||
}
|
||||
|
||||
private fun updateChapters(source: Source, fetchedManga: SManga, chapters: List<Chapter>) {
|
||||
// TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user