Fix downloads on errors when converting image (#1526)

* Fix downloads on errors when converting image

* Lint

* Simplify it

* No need for return

* Simplified
This commit is contained in:
Mitchell Syer
2025-07-16 21:52:54 -04:00
committed by GitHub
parent bef326d2d7
commit c63a06730f

View File

@@ -26,7 +26,6 @@ import suwayomi.tachidesk.manga.model.table.MangaTable
import suwayomi.tachidesk.server.serverConfig import suwayomi.tachidesk.server.serverConfig
import suwayomi.tachidesk.util.ConversionUtil import suwayomi.tachidesk.util.ConversionUtil
import java.io.File import java.io.File
import java.io.IOException
import java.io.InputStream import java.io.InputStream
import javax.imageio.IIOImage import javax.imageio.IIOImage
import javax.imageio.ImageIO import javax.imageio.ImageIO
@@ -236,22 +235,22 @@ abstract class ChaptersFilesProvider<Type : FileType>(
} }
val success = val success =
try { try {
ImageIO.createImageOutputStream(outFile) ImageIO.createImageOutputStream(outFile).use { outStream ->
} catch (e: IOException) {
logger.warn(e) { "Conversion aborted" }
return@forEach
}.use { outStream ->
writer.setOutput(outStream) writer.setOutput(outStream)
val inImage = ConversionUtil.readImage(it) ?: return@use false val inImage = ConversionUtil.readImage(it) ?: return@use false
writer.write(null, IIOImage(inImage, null, null), writerParams) writer.write(null, IIOImage(inImage, null, null), writerParams)
return@use true
true
}
} catch (e: Exception) {
logger.warn(e) { "Conversion aborted: for image $it" }
false
} }
writer.dispose() writer.dispose()
if (success) { if (success) {
it.delete() it.delete()
} else { } else {
logger.warn { "Conversion aborted: No reader for image $it" }
outFile.delete() outFile.delete()
} }
} }