1
0
Fork 0
mirror of synced 2025-07-04 20:37:34 +02:00

Add archlinux to the CI

This commit is contained in:
jvoisin 2018-09-01 15:07:01 +02:00
parent 7877ba0da5
commit 91e80527fc
3 changed files with 25 additions and 7 deletions

View file

@ -3,7 +3,7 @@
import os
import collections
import importlib
from typing import Dict
from typing import Dict, Optional
# make pyflakes happy
assert Dict
@ -35,13 +35,24 @@ DEPENDENCIES = {
'mutagen': 'Mutagen',
}
def _get_exiftool_path() -> Optional[str]:
exiftool_path = '/usr/bin/exiftool'
if os.path.isfile(exiftool_path):
if os.access(exiftool_path, os.X_OK): # pragma: no cover
return exiftool_path
# ArchLinux
exiftool_path = '/usr/bin/vendor_perl/exiftool'
if os.path.isfile(exiftool_path):
if os.access(exiftool_path, os.X_OK): # pragma: no cover
return exiftool_path
return None
def check_dependencies() -> dict:
ret = collections.defaultdict(bool) # type: Dict[str, bool]
exiftool = '/usr/bin/exiftool'
ret['Exiftool'] = False
if os.path.isfile(exiftool) and os.access(exiftool, os.X_OK): # pragma: no cover
ret['Exiftool'] = True
ret['Exiftool'] = True if _get_exiftool_path() else False
for key, value in DEPENDENCIES.items():
ret[value] = True

View file

@ -13,7 +13,7 @@ import gi
gi.require_version('GdkPixbuf', '2.0')
from gi.repository import GdkPixbuf
from . import abstract
from . import abstract, _get_exiftool_path
# Make pyflakes happy
assert Set
@ -40,7 +40,7 @@ class _ImageParser(abstract.AbstractParser):
self.filename to prevent parameter injections, so we need to take care
of this.
"""
fun = lambda f: subprocess.check_output(['/usr/bin/exiftool', '-json', f])
fun = lambda f: subprocess.check_output([_get_exiftool_path(), '-json', f])
if re.search('^[a-z0-9/]', self.filename) is None:
out = self.__handle_problematic_filename(self.filename, fun)
else: