From 3db6e6af38c45e01605d2f143281b59f6efc79db Mon Sep 17 00:00:00 2001 From: Michael Ilsaas Date: Fri, 27 Apr 2018 22:13:51 +0200 Subject: ext.rifle: Additional Check for mime type with mimetype command --- ranger/ext/rifle.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py index 70215039..69a561a8 100755 --- a/ranger/ext/rifle.py +++ b/ranger/ext/rifle.py @@ -261,6 +261,11 @@ class Rifle(object): # pylint: disable=too-many-instance-attributes process = Popen(["file", "--mime-type", "-Lb", fname], stdout=PIPE, stderr=PIPE) mimetype, _ = process.communicate() self._mimetype = mimetype.decode(ENCODING).strip() + if self._mimetype == 'application/octet-stream': + process = Popen(["mimetype", "--output-format", "%m", fname], + stdout=PIPE, stderr=PIPE) + mimetype, _ = process.communicate() + self._mimetype = mimetype.decode(ENCODING).strip() return self._mimetype def _build_command(self, files, action, flags): -- cgit 1.4.1-2-gfad0 From 1f4d1a3dbbfd2d116d8685fe38be3a3ce91cd34a Mon Sep 17 00:00:00 2001 From: Michael Ilsaas Date: Sat, 28 Apr 2018 09:32:18 +0200 Subject: Handle not installed mimetypes command --- ranger/ext/rifle.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py index 69a561a8..1bc7e3b6 100755 --- a/ranger/ext/rifle.py +++ b/ranger/ext/rifle.py @@ -262,10 +262,13 @@ class Rifle(object): # pylint: disable=too-many-instance-attributes mimetype, _ = process.communicate() self._mimetype = mimetype.decode(ENCODING).strip() if self._mimetype == 'application/octet-stream': - process = Popen(["mimetype", "--output-format", "%m", fname], - stdout=PIPE, stderr=PIPE) - mimetype, _ = process.communicate() - self._mimetype = mimetype.decode(ENCODING).strip() + try: + process = Popen(["mimetype", "--output-format", "%m", fname], + stdout=PIPE, stderr=PIPE) + mimetype, _ = process.communicate() + self._mimetype = mimetype.decode(ENCODING).strip() + except: + pass return self._mimetype def _build_command(self, files, action, flags): -- cgit 1.4.1-2-gfad0 From 9f60ca76603e820b1e2f26f91880ca05ec0d75f4 Mon Sep 17 00:00:00 2001 From: Michael Ilsaas Date: Sat, 28 Apr 2018 12:01:38 +0200 Subject: Fixed bare exception, added OSError --- ranger/ext/rifle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py index 1bc7e3b6..672b0597 100755 --- a/ranger/ext/rifle.py +++ b/ranger/ext/rifle.py @@ -267,7 +267,7 @@ class Rifle(object): # pylint: disable=too-many-instance-attributes stdout=PIPE, stderr=PIPE) mimetype, _ = process.communicate() self._mimetype = mimetype.decode(ENCODING).strip() - except: + except OSError: pass return self._mimetype -- cgit 1.4.1-2-gfad0