Use new Tachiyomi backup filename format (#787)

* Use new Tachiyomi backup filename format

* Lint

* Get Backup Filename in more places

* Delete BackupFull
This commit is contained in:
Mitchell Syer
2023-12-08 19:16:25 -05:00
committed by GitHub
parent 94b670eb81
commit a2d3fa6e1d
5 changed files with 14 additions and 22 deletions
@@ -9,6 +9,7 @@ import suwayomi.tachidesk.graphql.types.toStatus
import suwayomi.tachidesk.manga.impl.backup.BackupFlags
import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupExport
import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupImport
import suwayomi.tachidesk.manga.impl.backup.proto.models.Backup
import suwayomi.tachidesk.server.JavalinSetup.future
import java.util.concurrent.CompletableFuture
import kotlin.time.Duration.Companion.seconds
@@ -53,7 +54,7 @@ class BackupMutation {
)
fun createBackup(input: CreateBackupInput? = null): CreateBackupPayload {
val filename = ProtoBackupExport.getBackupFilename()
val filename = Backup.getFilename()
val backup =
ProtoBackupExport.createBackup(
@@ -5,6 +5,7 @@ import suwayomi.tachidesk.manga.impl.backup.BackupFlags
import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupExport
import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupImport
import suwayomi.tachidesk.manga.impl.backup.proto.ProtoBackupValidator
import suwayomi.tachidesk.manga.impl.backup.proto.models.Backup
import suwayomi.tachidesk.server.JavalinSetup.future
import suwayomi.tachidesk.server.util.handler
import suwayomi.tachidesk.server.util.withOperation
@@ -107,7 +108,7 @@ object BackupController {
behaviorOf = { ctx ->
ctx.contentType("application/octet-stream")
ctx.header("Content-Disposition", """attachment; filename="${ProtoBackupExport.getBackupFilename()}"""")
ctx.header("Content-Disposition", """attachment; filename="${Backup.getFilename()}"""")
ctx.future(
future {
ProtoBackupExport.createBackup(
@@ -45,8 +45,6 @@ import uy.kohesive.injekt.api.get
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.InputStream
import java.text.SimpleDateFormat
import java.util.Date
import java.util.concurrent.TimeUnit
import kotlin.time.Duration.Companion.days
@@ -114,7 +112,7 @@ object ProtoBackupExport : ProtoBackupBase() {
val automatedBackupDir = File(applicationDirs.automatedBackupRoot)
automatedBackupDir.mkdirs()
val backupFile = File(applicationDirs.automatedBackupRoot, getBackupFilename())
val backupFile = File(applicationDirs.automatedBackupRoot, Backup.getFilename())
backupFile.outputStream().use { output -> input.copyTo(output) }
}
@@ -155,11 +153,6 @@ object ProtoBackupExport : ProtoBackupBase() {
}
}
fun getBackupFilename(): String {
val currentDate = SimpleDateFormat("yyyy-MM-dd_HH-mm").format(Date())
return "tachidesk_$currentDate.proto.gz"
}
fun createBackup(flags: BackupFlags): InputStream {
// Create root object
@@ -2,6 +2,8 @@ package suwayomi.tachidesk.manga.impl.backup.proto.models
import kotlinx.serialization.Serializable
import kotlinx.serialization.protobuf.ProtoNumber
import java.text.SimpleDateFormat
import java.util.Date
@Serializable
data class Backup(
@@ -15,4 +17,11 @@ data class Backup(
return (brokenBackupSources.map { BackupSource(it.name, it.sourceId) } + backupSources)
.associate { it.sourceId to it.name }
}
companion object {
fun getFilename(): String {
val date = SimpleDateFormat("yyyy-MM-dd_HH-mm").format(Date())
return "org.suwayomi.tachidesk_$date.tachibk"
}
}
}
@@ -1,12 +0,0 @@
package suwayomi.tachidesk.manga.impl.backup.proto.models
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
object BackupFull {
fun getDefaultFilename(): String {
val date = SimpleDateFormat("yyyy-MM-dd_HH-mm", Locale.getDefault()).format(Date())
return "tachiyomi_$date.proto.gz"
}
}