Skip to content
Snippets Groups Projects
Commit d454ef5b authored by atenart's avatar atenart
Browse files

libmat2: fix dependency checks for cmd line utilities


The command line checks for command line utilities are done by trying to
access the executables and by throwing an exception when not found. This
lead to:
- The mat2 cmd line --check-dependencies option failing.
- The ffmpeg unit tests failing when ffmpeg isn't installed (even though
  it's an optional dependency).

This patch fixes it.

Signed-off-by: default avatarAntoine Tenart <antoine.tenart@ack.tf>
parent c824a68d
No related branches found
No related tags found
No related merge requests found
......@@ -38,13 +38,14 @@ DEPENDENCIES = {
'Mutagen': 'mutagen',
}
CMD_DEPENDENCIES = {
'Exiftool': exiftool._get_exiftool_path,
'Ffmpeg': video._get_ffmpeg_path,
}
def check_dependencies() -> Dict[str, bool]:
ret = collections.defaultdict(bool) # type: Dict[str, bool]
ret['Exiftool'] = bool(exiftool._get_exiftool_path())
ret['Ffmpeg'] = bool(video._get_ffmpeg_path())
for key, value in DEPENDENCIES.items():
ret[key] = True
try:
......@@ -52,6 +53,13 @@ def check_dependencies() -> Dict[str, bool]:
except ImportError: # pragma: no cover
ret[key] = False # pragma: no cover
for key, value in CMD_DEPENDENCIES.items():
ret[key] = True
try:
value()
except RuntimeError: # pragma: no cover
ret[key] = False
return ret
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment