def first_non_empty(items):
    """
    Return first non empty item from the list. If nothing is found, we just
    pick the first item. If there is no item, we return the whole form
    (defaulting to []).
    """

    if items:
        for it in items:
            if it:
                return it

        return items[0]
    else:
        return items