def get_time_eta(total_done, total, start_time):
    """Gets ETA

    :param total_done: items processed
    :param total: total # of items to process
    :param start_time: Time of start processing items
    :return: Time to go
    """
    time_done = int(time()) - start_time
    speed = total_done / time_done

    if time_done > 0 and speed > 0:
        total_to_go = total - total_done
        time_to_go = total_to_go / speed
        minutes, seconds = divmod(time_to_go, 60)
        hours, minutes = divmod(minutes, 60)
        percentage = total_done * 100.0 / total
    else:
        percentage = 0
        hours = 0
        minutes = 0
        seconds = 0

    return {
        "done": int(total_done),
        "tot": int(total),
        "%": float("{0:.2f}".format(percentage)),
        "h": int(hours),
        "m": int(minutes),
        "s": int(seconds)
    }
Gets ETA

    :param total_done: items processed
    :param total: total # of items to process
    :param start_time: Time of start processing items
    :return: Time to go