'Returns time duration nicely formated, e.g. "3 minutes 4 seconds"'

def pretty_print_seconds(self, num_seconds):

    ungettext = self.runtime.service(self, 'i18n').ungettext
    hours = (num_seconds // 3600)
    sub_hour = (num_seconds % 3600)
    minutes = (sub_hour // 60)
    seconds = (sub_hour % 60)
    display = ''
    if (hours > 0):
        display += ungettext('{num_hour}    hour', '{num_hour}    hours', hours).format(num_hour=hours)
    if (minutes > 0):
        if (display != ''):
            display += '    '
        display += ungettext('{num_minute}    minute', '{num_minute}    minutes', minutes).format(num_minute=minutes)
    if ((seconds > 0) or ((hours == 0) and (minutes == 0))):
        if (display != ''):
            display += '    '
        display += ungettext('{num_second}    second', '{num_second}    seconds', seconds).format(num_second=seconds)
    return display
