Formats a string from time given in seconds. For large times
    (``abs(seconds) >= 60``) the format is::

        dd:hh:mm:ss

    For small times (``abs(seconds) < 60``), the result is given in 3
    significant figures, with units given in seconds and a suitable SI-prefix.

def format_time(seconds):
    """
    Formats a string from time given in seconds. For large times
    (``abs(seconds) >= 60``) the format is::

        dd:hh:mm:ss

    For small times (``abs(seconds) < 60``), the result is given in 3
    significant figures, with units given in seconds and a suitable SI-prefix.
    """

    if not isinstance(seconds, (int, float)):
        return str(seconds)

    if math.isnan(seconds):
        return "-"

    if abs(seconds)<60:
        return format_time_small(seconds)
    else:
        return format_time_large(seconds)