diff --git a/dotdrop/jhelpers.py b/dotdrop/jhelpers.py index 0bff618..99d5ddc 100644 --- a/dotdrop/jhelpers.py +++ b/dotdrop/jhelpers.py @@ -6,8 +6,14 @@ jinja2 helper methods """ import os +import shutil def exists(path): """return true when path exists""" return os.path.exists(os.path.expandvars(path)) + + +def exists_in_path(name, path=None): + """return true when executable exists in os path""" + return shutil.which(name, os.F_OK | os.X_OK, path) is not None diff --git a/dotdrop/templategen.py b/dotdrop/templategen.py index ae49f47..53b0bbc 100644 --- a/dotdrop/templategen.py +++ b/dotdrop/templategen.py @@ -49,6 +49,7 @@ class Templategen: self.env.globals['header'] = self._header # adding helper methods self.env.globals['exists'] = jhelpers.exists + self.env.globals['exists_in_path'] = jhelpers.exists_in_path def generate(self, src): """render template from path"""