Implement a check for dependencies in mat2
Example use: ``` $ mat2 -c Dependencies required for MAT2 0.1.3: - Cairo: yes - Exiftool: yes - GdkPixbuf from PyGobject: yes - Mutagen: yes - Poppler from PyGobject: yes - PyGobject: yes ``` This should close #35
This commit is contained in:
parent
22e3918f67
commit
d5861e4653
4 changed files with 59 additions and 5 deletions
|
@ -1,5 +1,13 @@
|
|||
#!/bin/env python3
|
||||
|
||||
import os
|
||||
import collections
|
||||
import importlib
|
||||
from typing import Dict
|
||||
|
||||
# make pyflakes happy
|
||||
assert Dict
|
||||
|
||||
# A set of extension that aren't supported, despite matching a supported mimetype
|
||||
UNSUPPORTED_EXTENSIONS = {
|
||||
'.asc',
|
||||
|
@ -17,3 +25,28 @@ UNSUPPORTED_EXTENSIONS = {
|
|||
'.xsd',
|
||||
'.xsl',
|
||||
}
|
||||
|
||||
DEPENDENCIES = {
|
||||
'cairo': 'Cairo',
|
||||
'gi': 'PyGobject',
|
||||
'gi.repository.GdkPixbuf': 'GdkPixbuf from PyGobject',
|
||||
'gi.repository.Poppler': 'Poppler from PyGobject',
|
||||
'mutagen': 'Mutagen',
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
for key, value in DEPENDENCIES.items():
|
||||
ret[value] = True
|
||||
try:
|
||||
importlib.import_module(key)
|
||||
except ImportError: # pragma: no cover
|
||||
ret[value] = False # pragma: no cover
|
||||
|
||||
return ret
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue