mirror of
https://github.com/deadc0de6/dotdrop.git
synced 2026-02-10 13:54:17 +00:00
check python dependencies
This commit is contained in:
@@ -690,6 +690,13 @@ def apply_trans(dotpath, dotfile, templater, debug=False):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""entry point"""
|
"""entry point"""
|
||||||
|
# check dependencies are met
|
||||||
|
try:
|
||||||
|
dependencies_met()
|
||||||
|
except Exception as e:
|
||||||
|
LOG.err(e)
|
||||||
|
return False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
o = Options()
|
o = Options()
|
||||||
except YamlException as e:
|
except YamlException as e:
|
||||||
@@ -702,13 +709,6 @@ def main():
|
|||||||
if o.debug:
|
if o.debug:
|
||||||
LOG.dbg('\n\n')
|
LOG.dbg('\n\n')
|
||||||
|
|
||||||
# check dependencies are met
|
|
||||||
try:
|
|
||||||
dependencies_met()
|
|
||||||
except Exception as e:
|
|
||||||
LOG.err(e)
|
|
||||||
return False
|
|
||||||
|
|
||||||
ret = True
|
ret = True
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
|||||||
@@ -268,11 +268,34 @@ def get_module_from_path(path):
|
|||||||
|
|
||||||
def dependencies_met():
|
def dependencies_met():
|
||||||
"""make sure all dependencies are met"""
|
"""make sure all dependencies are met"""
|
||||||
deps = ['file', 'diff', 'mkdir']
|
# check unix tools deps
|
||||||
|
deps = ['file', 'diff']
|
||||||
err = 'The tool \"{}\" was not found in the PATH!'
|
err = 'The tool \"{}\" was not found in the PATH!'
|
||||||
for dep in deps:
|
for dep in deps:
|
||||||
if not which(dep):
|
if not which(dep):
|
||||||
raise Exception(err.format(dep))
|
raise Exception(err.format(dep))
|
||||||
|
# check python deps
|
||||||
|
err = 'missing python module {}'
|
||||||
|
try:
|
||||||
|
import magic
|
||||||
|
assert(magic)
|
||||||
|
except ImportError:
|
||||||
|
raise Exception(err.format('python-magic'))
|
||||||
|
try:
|
||||||
|
from docopt import docopt
|
||||||
|
assert(docopt)
|
||||||
|
except ImportError:
|
||||||
|
raise Exception(err.format('docopt'))
|
||||||
|
try:
|
||||||
|
import jinja2
|
||||||
|
assert(jinja2)
|
||||||
|
except ImportError:
|
||||||
|
raise Exception(err.format('jinja2'))
|
||||||
|
try:
|
||||||
|
from ruamel.yaml import YAML
|
||||||
|
assert(YAML)
|
||||||
|
except ImportError:
|
||||||
|
raise Exception(err.format('ruamel.yaml'))
|
||||||
|
|
||||||
|
|
||||||
def mirror_file_rights(src, dst):
|
def mirror_file_rights(src, dst):
|
||||||
|
|||||||
Reference in New Issue
Block a user