def is_top_down(lines):
    """
    Return `True` if dates in the given lines go in an ascending order, or `False` if they go in a descending order. If
    no order can be determined, return `None`. The given `lines` must be a list of lines, ie.
    :class:`~taxi.timesheet.lines.TextLine`, :class:`taxi.timesheet.lines.Entry` or
    :class:`~taxi.timesheet.lines.DateLine`.
    """
    date_lines = [
        line for line in lines if hasattr(line, 'is_date_line') and line.is_date_line
    ]

    if len(date_lines) < 2 or date_lines[0].date == date_lines[1].date:
        return None
    else:
        return date_lines[1].date > date_lines[0].date
Return `True` if dates in the given lines go in an ascending order, or `False` if they go in a descending order. If
    no order can be determined, return `None`. The given `lines` must be a list of lines, ie.
    :class:`~taxi.timesheet.lines.TextLine`, :class:`taxi.timesheet.lines.Entry` or
    :class:`~taxi.timesheet.lines.DateLine`.