@staticmethod
def get_human_uptime(uptime):
    """
        Convert a timespan of seconds into hours, days, ...

        :param uptime: Uptime in seconds
        :type uptime: int
        :return:
        """
    if uptime > 60 * 60 * 24:
        uptime_days = int(uptime / (60 * 60 * 24))
        uptime_hours = int((uptime - uptime_days * (60 * 60 * 24)) / (60 * 60))
        uptime_minutes = int((uptime - (uptime_days * (60 * 60 * 24) + 
            uptime_hours * 60 * 60)) / 60)
        uptime_seconds = int(uptime - (uptime_days * (60 * 60 * 24) + (
            uptime_hours * (60 * 60) + uptime_minutes * 60)))
        uptime = str(uptime_days) + 'd:' + str(uptime_hours) + 'h:' + str(int
            (uptime_minutes)) + 'm:' + str(int(uptime_seconds)) + 's'
    elif uptime > 60 * 60:
        uptime_hours = int(uptime / (60 * 60))
        uptime_minutes = int((uptime - uptime_hours * (60 * 60)) / 60)
        uptime_seconds = int(uptime - (uptime_hours * (60 * 60) + 
            uptime_minutes * 60))
        uptime = str(uptime_hours) + 'h:' + str(int(uptime_minutes)
            ) + 'm:' + str(int(uptime_seconds)) + 's'
    elif uptime > 60:
        uptime_minutes = int(uptime / 60)
        uptime_seconds = uptime - uptime_minutes * 60
        uptime = str(uptime_minutes) + 'm:' + str(int(uptime_seconds)) + 's'
    else:
        uptime = str(int(uptime)) + ' seconds'
    return uptime
