def pretty_time_delta(seconds): sign_string = '-' if seconds < 0 else '' seconds = abs(int(seconds)) days, seconds = divmod(seconds, 86400) hours, seconds = divmod(seconds, 3600) minutes, seconds = divmod(seconds, 60) if days > 0: return '%s%dd%dh%dm%ds' % (sign_string, days, hours, minutes, seconds) elif hours > 0: return '%s%dh%dm%ds' % (sign_string, hours, minutes, seconds) elif minutes > 0: return '%s%dm%ds' % (sign_string, minutes, seconds) else: return '%s%ds' % (sign_string, seconds)