summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/service.py
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2014-03-12 12:59:46 +0100
committerPetr Viktorin <pviktori@redhat.com>2014-03-13 18:15:43 +0100
commit7c9fa8fad96c039b96939f8df8d740ad6b50eec9 (patch)
tree9c71bcfd1a2c2a004a9b52852d96d9b0a76c688d /ipaserver/install/service.py
parent62426970b7b2abd7941ce5df1f1f0e5554ec5a7d (diff)
downloadfreeipa-7c9fa8fad96c039b96939f8df8d740ad6b50eec9.tar.gz
freeipa-7c9fa8fad96c039b96939f8df8d740ad6b50eec9.tar.xz
freeipa-7c9fa8fad96c039b96939f8df8d740ad6b50eec9.zip
ipaserver.install.service: Fix estimated time display
Use basic math rather than timezone conversion to get minutes and seconds. Break out the message generation into a small tested function. https://fedorahosted.org/freeipa/ticket/4242 Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Diffstat (limited to 'ipaserver/install/service.py')
-rw-r--r--ipaserver/install/service.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/ipaserver/install/service.py b/ipaserver/install/service.py
index 0d7a66456..5d5db966f 100644
--- a/ipaserver/install/service.py
+++ b/ipaserver/install/service.py
@@ -58,6 +58,21 @@ def print_msg(message, output_fd=sys.stdout):
output_fd.flush()
+def format_seconds(seconds):
+ """Format a number of seconds as an English minutes+seconds message"""
+ parts = []
+ minutes, seconds = divmod(seconds, 60)
+ if minutes:
+ parts.append('%d minute' % minutes)
+ if minutes != 1:
+ parts[-1] += 's'
+ if seconds or not minutes:
+ parts.append('%d second' % seconds)
+ if seconds != 1:
+ parts[-1] += 's'
+ return ' '.join(parts)
+
+
class Service(object):
def __init__(self, service_name, service_desc=None, sstore=None, dm_password=None, ldapi=True, autobind=AUTO):
self.service_name = service_name
@@ -341,19 +356,8 @@ class Service(object):
end_message = "Done configuring %s." % self.service_desc
if runtime > 0:
- plural=''
- est = time.localtime(runtime)
- if est.tm_min > 0:
- if est.tm_min > 1:
- plural = 's'
- if est.tm_sec > 0:
- self.print_msg('%s: Estimated time %d minute%s %d seconds' % (start_message, est.tm_min, plural, est.tm_sec))
- else:
- self.print_msg('%s: Estimated time %d minute%s' % (start_message, est.tm_min, plural))
- else:
- if est.tm_sec > 1:
- plural = 's'
- self.print_msg('%s: Estimated time %d second%s' % (start_message, est.tm_sec, plural))
+ self.print_msg('%s: Estimated time %s' % (start_message,
+ format_seconds(runtime)))
else:
self.print_msg(start_message)