From 3d915986b0084d41d28c1bb4673926e85396f730 Mon Sep 17 00:00:00 2001 From: clinton-hall Date: Wed, 12 Oct 2016 07:05:48 +1030 Subject: [PATCH] revert to 7zip if others missing. Fixes #1015 --- core/extractor/extractor.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/core/extractor/extractor.py b/core/extractor/extractor.py index 7cbd34b9..ed887187 100644 --- a/core/extractor/extractor.py +++ b/core/extractor/extractor.py @@ -47,13 +47,15 @@ def extract(filePath, outputDestination): for cmd in required_cmds: if call(['which', cmd], stdout=devnull, stderr=devnull): # note, returns 0 if exists, or 1 if doesn't exist. - if cmd == "7zr" and not call(["which", "7z"]): # we do have "7z" command - EXTRACT_COMMANDS[".7z"] = ["7z", "x"] - elif cmd == "7zr" and not call(["which", "7za"]): # we do have "7za" command - EXTRACT_COMMANDS[".7z"] = ["7za", "x"] - else: - for k, v in EXTRACT_COMMANDS.items(): - if cmd in v[0]: + for k, v in EXTRACT_COMMANDS.items(): + if cmd in v[0]: + if not call(["which", "7zr"], stdout=devnull, stderr=devnull): # we do have "7zr" + EXTRACT_COMMANDS[k] = ["7zr", "x", "-y"] + elif not call(["which", "7z"], stdout=devnull, stderr=devnull): # we do have "7z" + EXTRACT_COMMANDS[k] = ["7z", "x", "-y"] + elif not call(["which", "7za"], stdout=devnull, stderr=devnull): # we do have "7za" + EXTRACT_COMMANDS[k] = ["7za", "x", "-y"] + else: core.logger.error("EXTRACTOR: {cmd} not found, " "disabling support for {feature}".format (cmd=cmd, feature=k))