summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fabio/compression/compression.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/fabio/compression/compression.py b/src/fabio/compression/compression.py
index 8fa6689..80a8a39 100644
--- a/src/fabio/compression/compression.py
+++ b/src/fabio/compression/compression.py
@@ -107,8 +107,9 @@ def endianness():
class ExternalCompressors(object):
"""Class to handle lazy discovery of external compression programs"""
- COMMANDS = OrderedDict(((".bz2", ("bzip2" "-dcf")),
- (".gz", ("gzip", "-dcf"))))
+ COMMANDS = ((".bz2", ["bzip2" "-dcf"]),
+ (".gz", ["gzip", "-dcf"]),
+ )
def __init__(self):
"""Empty constructor"""
@@ -117,8 +118,9 @@ class ExternalCompressors(object):
def __getitem__(self, key):
"""Implement the dict-like behavior"""
if key not in self.compressors:
- commandline = self.COMMANDS.get(key)
- if commandline:
+ for candidate, commandline in self.COMMANDS:
+ if key != candidate:
+ continue
testline = [commandline[0], "-h"]
try:
lines = subprocess.check_output(testline,