Allow overwrite non-empty download directory #99

pull/104/head
Koitharu 4 years ago
parent c7aaa22eab
commit 02980ea1e6
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -16,7 +16,7 @@ class MangaZip(val file: File) {
private var index = MangaIndex(null) private var index = MangaIndex(null)
suspend fun prepare(manga: Manga) { suspend fun prepare(manga: Manga) {
writableCbz.prepare() writableCbz.prepare(overwrite = true)
index = MangaIndex(writableCbz[INDEX_ENTRY].takeIfReadable()?.readText()) index = MangaIndex(writableCbz[INDEX_ENTRY].takeIfReadable()?.readText())
index.setMangaInfo(manga, append = true) index.setMangaInfo(manga, append = true)
} }

@ -14,9 +14,13 @@ class WritableCbzFile(private val file: File) {
private val dir = File(file.parentFile, file.nameWithoutExtension) private val dir = File(file.parentFile, file.nameWithoutExtension)
suspend fun prepare() = withContext(Dispatchers.IO) { suspend fun prepare(overwrite: Boolean) = withContext(Dispatchers.IO) {
check(dir.list().isNullOrEmpty()) { if (!dir.list().isNullOrEmpty()) {
"Dir ${dir.name} is not empty" if (overwrite) {
dir.deleteRecursively()
} else {
throw IllegalStateException("Dir ${dir.name} is not empty")
}
} }
if (!dir.exists()) { if (!dir.exists()) {
dir.mkdir() dir.mkdir()

Loading…
Cancel
Save