summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipaserver/service.py
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2007-12-13 09:31:28 +0000
committerMark McLoughlin <markmc@redhat.com>2007-12-13 09:31:28 +0000
commit6976f92862c1dba3f7a25baa1893c41a67590b23 (patch)
tree4d9f2e1a526c586b4fa43d00b84aad5e348f742b /ipa-server/ipaserver/service.py
parentc049d2d8218dc5c560f9692397af91cac2559edd (diff)
downloadfreeipa.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.py26
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 = []