Add archlinux to the CI
This commit is contained in:
parent
7877ba0da5
commit
91e80527fc
@ -53,3 +53,10 @@ tests:fedora:
|
||||
- dnf install -y python3 python3-mutagen python3-gobject gdk-pixbuf2 poppler-glib gdk-pixbuf2 gdk-pixbuf2-modules cairo-gobject cairo python3-cairo perl-Image-ExifTool mailcap
|
||||
- gdk-pixbuf-query-loaders-64 > /usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
||||
- python3 setup.py test
|
||||
|
||||
tests:archlinux:
|
||||
image: archlinux/base
|
||||
stage: test
|
||||
script:
|
||||
- pacman -Sy --noconfirm python-mutagen python-gobject gdk-pixbuf2 poppler-glib gdk-pixbuf2 python-cairo perl-image-exiftool python-setuptools mailcap
|
||||
- python3 setup.py test
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user