diff options
author | Mark McLoughlin <markmc@redhat.com> | 2007-12-13 09:31:28 +0000 |
---|---|---|
committer | Mark McLoughlin <markmc@redhat.com> | 2007-12-13 09:31:28 +0000 |
commit | 6976f92862c1dba3f7a25baa1893c41a67590b23 (patch) | |
tree | 4d9f2e1a526c586b4fa43d00b84aad5e348f742b /ipa-server/ipaserver/service.py | |
parent | c049d2d8218dc5c560f9692397af91cac2559edd (diff) | |
download | freeipa.git-6976f92862c1dba3f7a25baa1893c41a67590b23.tar.gz freeipa.git-6976f92862c1dba3f7a25baa1893c41a67590b23.tar.xz freeipa.git-6976f92862c1dba3f7a25baa1893c41a67590b23.zip |
Refactor krbinstance and dsinstance creation steps
Creation steps are currently done with:
self.start_creation(2, "Create foo")
self.step("do foo")
self.foo()
self.step("do bar")
self.bar()
self.done_creation()
This patch refactors that into the much more
straightforward:
self.step("do foo", self.foo)
self.step("do bar", self.bar)
self.start_creation("Create foo")
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Diffstat (limited to 'ipa-server/ipaserver/service.py')
-rw-r--r-- | ipa-server/ipaserver/service.py | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/ipa-server/ipaserver/service.py b/ipa-server/ipaserver/service.py index 4b279970..90d0e606 100644 --- a/ipa-server/ipaserver/service.py +++ b/ipa-server/ipaserver/service.py @@ -45,8 +45,7 @@ def print_msg(message, output_fd=sys.stdout): class Service: def __init__(self, service_name): self.service_name = service_name - self.num_steps = -1 - self.current_step = -1 + self.steps = [] self.output_fd = sys.stdout def set_output(self, fd): @@ -69,18 +68,19 @@ class Service: def print_msg(self, message): print_msg(message, self.output_fd) - - def start_creation(self, num_steps, message): - self.num_steps = num_steps - self.cur_step = 0 - self.print_msg(message) - def step(self, message): - self.cur_step += 1 - self.print_msg(" [%d/%d]: %s" % (self.cur_step, self.num_steps, message)) + def step(self, message, method): + self.steps.append((message, method)) - def done_creation(self): - self.cur_step = -1 - self.num_steps = -1 + def start_creation(self, message): + self.print_msg(message) + + step = 0 + for (message, method) in self.steps: + self.print_msg(" [%d/%d]: %s" % (step, len(self.steps), message)) + method() + step += 1 + self.print_msg("done configuring %s." % self.service_name) + self.steps = [] |