From ab113693a65a5a43076cf64f159406ced50daf81 Mon Sep 17 00:00:00 2001 From: yaniwang Date: Wed, 14 Aug 2013 13:08:48 +0800 Subject: [PATCH] Fix hook type is invalid e.g.: 'post-job' should run only one time after each job, but before fix it will run eveywhere when hook is triggered. --- igor/daemon/job.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/igor/daemon/job.py b/igor/daemon/job.py index 9f91211..672bed9 100644 --- a/igor/daemon/job.py +++ b/igor/daemon/job.py @@ -656,13 +656,14 @@ def _run_hook(self, hook, cookie): "post-setup", "post-start", "post-annotate", "post-end"] cmd_tpl = "{script} {hook} {cookie}" - if hook in allowed_hooks and os.path.isdir(self.hooks_path): - for scriptfile in os.listdir(self.hooks_path): - script = os.path.join(self.hooks_path, scriptfile) - cmd = cmd_tpl.format(script=script, hook=hook, - cookie=cookie) - logger.debug("Running hook: %s" % cmd) - os.system(cmd) + if hook in allowed_hooks and \ + os.path.isdir(self.hooks_path) and \ + hook in os.listdir(self.hooks_path): + script = os.path.join(self.hooks_path, hook) + cmd = cmd_tpl.format(script=script, hook=hook, + cookie=cookie) + logger.debug("Running hook: %s" % cmd) + os.system(cmd) elif hook not in allowed_hooks: logger.warning("Unknown hook: %s" % hook)