10
10
return os.path.join(os.environ['CHARM_DIR'],'exec.d')
13
def execd_modules(execd_dir=None):
13
def execd_module_paths(execd_dir=None):
15
15
execd_dir = default_execd_dir()
16
16
for subpath in os.listdir(execd_dir):
17
17
module = os.path.join(execd_dir, subpath)
18
18
if os.path.isdir(module):
22
def execd_run(submodule, execd_dir=None, die_on_error=False):
23
for module_path in execd_modules(execd_dir):
22
def execd_submodule_paths(submodule, execd_dir=None):
23
for module_path in execd_module_paths(execd_dir):
24
24
path = os.path.join(module_path, submodule)
25
25
if os.access(path, os.X_OK) and os.path.isfile(path):
27
subprocess.check_call(path, shell=True)
28
except subprocess.CalledProcessError as e:
31
sys.exit(e.returncode)
29
def execd_run(submodule, execd_dir=None, die_on_error=False):
30
for submodule_path in execd_submodule_paths(submodule, execd_dir):
32
subprocess.check_call(submodule_path, shell=True)
33
except subprocess.CalledProcessError as e:
36
sys.exit(e.returncode)
34
39
def execd_preinstall(execd_dir=None):