]> xmof Git - DeDRM.git/commitdiff
Update ineptepub.py
authorApprentice Harper <apprenticeharper@gmail.com>
Sun, 27 Dec 2020 12:16:11 +0000 (12:16 +0000)
committerApprentice Harper <apprenticeharper@gmail.com>
Sun, 27 Dec 2020 12:16:11 +0000 (12:16 +0000)
Handle uncompressed elements (if any) in the zip file.

DeDRM_plugin/ineptepub.py

index 8d887337f16bb7c36cfea3d1ed37390860aeabcb..fb67cb4cda6f687686980dfdc59c44a65d1cfb4f 100644 (file)
@@ -353,12 +353,16 @@ class Decryptor(object):
 
     def decompress(self, bytes):
         dc = zlib.decompressobj(-15)
-        bytes = dc.decompress(bytes)
-        ex = dc.decompress(b'Z') + dc.flush()
-        if ex:
-            bytes = bytes + ex
-        return bytes
-
+        try:
+            decompressed_bytes = dc.decompress(bytes)
+            ex = dc.decompress(b'Z') + dc.flush()
+            if ex:
+                decompressed_bytes = decompressed_bytes + ex
+        except:
+            # possibly not compressed by zip - just return bytes
+            return bytes
+        return decompressed_bytes 
+    
     def decrypt(self, path, data):
         if path.encode('utf-8') in self._encrypted:
             data = self._aes.decrypt(data)[16:]