From 1b41d7f068a4404c9133bc76f68b93a78a4dff63 Mon Sep 17 00:00:00 2001 From: Richard Mitchell Date: Tue, 31 Mar 2015 18:54:05 +0100 Subject: [PATCH] Customizable state dir. --- fuselage/runner.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fuselage/runner.py b/fuselage/runner.py index ea8c137a..4429ba4b 100644 --- a/fuselage/runner.py +++ b/fuselage/runner.py @@ -27,10 +27,13 @@ class Runner(object): state_path = "/var/run/yaybu" - def __init__(self, resources, resume=False, no_resume=False, simulate=False, verbosity=logging.INFO): + def __init__(self, resources, resume=False, no_resume=False, simulate=False, verbosity=logging.INFO, state_path=None): if resume and no_resume: raise error.ParseError("'resume' and 'no_resume' cannot both be True") + if state_path is not None: + self.state_path = state_path + self.resources = resources self.resume = resume self.no_resume = no_resume @@ -49,6 +52,7 @@ def get_resources(cls): @classmethod def setup_from_cmdline(cls, argv=sys.argv, resources=None): p = optparse.OptionParser() + p.add_option("--state", default=None) p.add_option("-s", "--simulate", action="store_true", default=False) p.add_option("--resume", action="store_true", default=False) p.add_option("--no-resume", action="store_true", default=False) @@ -62,6 +66,7 @@ def setup_from_cmdline(cls, argv=sys.argv, resources=None): no_resume=opts.no_resume, simulate=opts.simulate, verbosity=logging.INFO - (10 * (opts.verbose - opts.quiet)), + state_path=opts.state, ) def run(self):