diff options
Diffstat (limited to 'scripts/minimaws/lib/auxverbs.py')
-rw-r--r-- | scripts/minimaws/lib/auxverbs.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/minimaws/lib/auxverbs.py b/scripts/minimaws/lib/auxverbs.py index bff43bc9601..ac520da7d87 100644 --- a/scripts/minimaws/lib/auxverbs.py +++ b/scripts/minimaws/lib/auxverbs.py @@ -11,6 +11,7 @@ import os import os.path import struct import sys +import zipfile import zlib @@ -129,8 +130,15 @@ class _Identifier(object): def processFile(self, path): if os.path.splitext(path)[1].lower() != '.chd': - with open(path, mode='rb', buffering=0) as f: - self.processRomFile(path, f) + if zipfile.is_zipfile(path): + with zipfile.ZipFile(path, 'r') as zip: + for info in zip.namelist(): + if info.filename[-1] != '/': + with zip.open(info, mode='r') as f: + self.processRomFile(path + '/' + info.filename, f) + else: + with open(path, mode='rb', buffering=0) as f: + self.processRomFile(path, f) else: with open(path, mode='rb') as f: sha1 = self.probeChd(f) |