1
0
mirror of synced 2024-11-21 16:54:23 +01:00

Add which pathfinding for executables

This commit is contained in:
tguinot 2020-02-10 03:31:07 +01:00 committed by jvoisin
parent 12f23e0150
commit 56d2c4aa5f
4 changed files with 20 additions and 17 deletions

View File

@ -41,6 +41,12 @@ Nautilus, the default file manager of GNOME.
Please note that mat2 requires at least Python3.5.
# Requirements setup on macOS (OS X) using [Homebrew](https://brew.sh/)
```bash
brew install exiftool cairo pygobject3 poppler gdk-pixbuf librsvg ffmpeg
```
# Running the test suite
```bash

View File

@ -22,10 +22,9 @@ CalledProcessError = subprocess.CalledProcessError
def _get_bwrap_path() -> str:
bwrap_path = '/usr/bin/bwrap'
if os.path.isfile(bwrap_path):
if os.access(bwrap_path, os.X_OK):
return bwrap_path
which_path = shutil.which('bwrap')
if which_path:
return which_path
raise RuntimeError("Unable to find bwrap") # pragma: no cover

View File

@ -2,6 +2,7 @@ import functools
import json
import logging
import os
import shutil
import subprocess
from typing import Dict, Union, Set
@ -71,14 +72,12 @@ class ExiftoolParser(abstract.AbstractParser):
@functools.lru_cache()
def _get_exiftool_path() -> str: # pragma: no cover
possible_pathes = {
'/usr/bin/exiftool', # debian/fedora
'/usr/bin/vendor_perl/exiftool', # archlinux
}
which_path = shutil.which('exiftool')
if which_path:
return which_path
for possible_path in possible_pathes:
if os.path.isfile(possible_path):
if os.access(possible_path, os.X_OK):
return possible_path
# Exiftool on Arch Linux has a weird path
if os.access('/usr/bin/vendor_perl/exiftool', os.X_OK):
return '/usr/bin/vendor_perl/exiftool'
raise RuntimeError("Unable to find exiftool")

View File

@ -1,6 +1,6 @@
import subprocess
import functools
import os
import shutil
import logging
from typing import Dict, Union
@ -137,9 +137,8 @@ class MP4Parser(AbstractFFmpegParser):
@functools.lru_cache()
def _get_ffmpeg_path() -> str: # pragma: no cover
ffmpeg_path = '/usr/bin/ffmpeg'
if os.path.isfile(ffmpeg_path):
if os.access(ffmpeg_path, os.X_OK):
return ffmpeg_path
which_path = shutil.which('ffmpeg')
if which_path:
return which_path
raise RuntimeError("Unable to find ffmpeg")