diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-03-12 12:59:46 +0100 |
---|---|---|
committer | Petr Viktorin <pviktori@redhat.com> | 2014-03-13 18:15:43 +0100 |
commit | 7c9fa8fad96c039b96939f8df8d740ad6b50eec9 (patch) | |
tree | 9c71bcfd1a2c2a004a9b52852d96d9b0a76c688d /ipaserver/install/service.py | |
parent | 62426970b7b2abd7941ce5df1f1f0e5554ec5a7d (diff) | |
download | freeipa-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.py | 30 |
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) |