From a0c38a07a6d99ae8bb7461f1122ee34d70d2cd65 Mon Sep 17 00:00:00 2001 From: Fabrice Laporte Date: Mon, 22 Sep 2014 13:45:53 +0200 Subject: [PATCH] artresizer: parse output of `identify` command to check IM version we used to parse `convert` output but `convert` happens to be a Windows cli command too. using `identify` is less error prone. --- beets/util/artresizer.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/beets/util/artresizer.py b/beets/util/artresizer.py index 566d63e773..e956421c26 100644 --- a/beets/util/artresizer.py +++ b/beets/util/artresizer.py @@ -167,6 +167,7 @@ def local(self): def _can_compare(self): """A boolean indicating whether image comparison is available""" + return self.method[0] == IMAGEMAGICK and self.method[1] > (6, 8, 7) @staticmethod @@ -174,6 +175,7 @@ def _check_method(method=None): """A tuple indicating whether current method is available and its version. If no method is given, it returns a supported one. """ + # Guess available method if not method: for m in [IMAGEMAGICK, PIL]: @@ -183,9 +185,11 @@ def _check_method(method=None): return (WEBPROXY, (0)) if method == IMAGEMAGICK: + # Try invoking ImageMagick's "convert". try: - out = util.command_output(['convert', '--version']) + out = util.command_output(['identify', '--version']) + if 'imagemagick' in out.lower(): pattern = r".+ (\d+)\.(\d+)\.(\d+).*" match = re.search(pattern, out)