throw an error when trying to use PPMd

This commit is contained in:
AbdallahMehiz
2024-01-19 11:00:57 +01:00
parent db3c53da3d
commit 9bfb34982e
3 changed files with 16 additions and 3 deletions

View File

@@ -1,14 +1,21 @@
package eu.kanade.tachiyomi.util.storage
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
import org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException
import org.apache.commons.compress.archivers.sevenz.SevenZFile
import tachiyomi.core.util.system.ImageUtil
import java.io.IOException
import java.io.InputStream
object SevenZUtil {
fun SevenZFile.getImages(): Sequence<ByteArray> {
return generateSequence { runCatching { getNextEntry() }.getOrNull() }
.filter { !it.isDirectory && ImageUtil.isImage(it.name) { getInputStream(it) } }
return generateSequence {
try {
getNextEntry()
} catch (e: IOException) {
throw UnsupportedCompressionAlgorithmException()
}
}.filter { !it.isDirectory && ImageUtil.isImage(it.name) { getInputStream(it) } }
.sortedWith { f1, f2 -> f1.name.compareToCaseInsensitiveNaturalOrder(f2.name) }
.map(::getInputStream)
.map { it.use(InputStream::readBytes) } // ByteArray