From 0ae7b3ae53b69a29a430667364eedb1d001cf2bd Mon Sep 17 00:00:00 2001 From: Benjamin Winger Date: Tue, 4 Aug 2020 15:09:19 -0400 Subject: [PATCH] Fall back to guess_mime_mimedb if file command fails in guess_mime_file --- patoolib/util.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/patoolib/util.py b/patoolib/util.py index e0976bd..db1abca 100644 --- a/patoolib/util.py +++ b/patoolib/util.py @@ -294,16 +294,15 @@ def guess_mime_file (filename): cmd = [file_prog, "--brief", "--mime", "--uncompress", filename] try: outparts = backtick(cmd).strip().split(";") + mime2 = outparts[0].split(" ", 1)[0] except OSError: - # ignore errors, as file(1) is only a fallback - return mime, encoding - mime2 = outparts[0].split(" ", 1)[0] + mime2 = None # Some file(1) implementations return an empty or unknown mime type # when the uncompressor program is not installed, other # implementation return the original file type. # The following detects both cases. if (mime2 in ('application/x-empty', 'application/octet-stream') or - mime2 in Mime2Encoding): + mime2 in Mime2Encoding or not mime2): # The uncompressor program file(1) uses is not installed # or is not able to uncompress. # Try to get mime information from the file extension.