def _first_not_none(seq, supplier_func):
        """Applies supplier_func to each element in seq, returns 1st not None

        :param seq: Sequence of object
        :type seq: iterable
        :param supplier_func: Function that extracts the desired value from
            elements in seq
        :type supplier_func: function
        """
        for i in seq:
            obj = supplier_func(i)
            if obj is not None:
                return obj

        return None
def _first_not_none ( seq , supplier_func ) : for i in seq : obj = supplier_func ( i ) if obj is not None : return obj return None
Applies supplier_func to each element in seq, returns 1st not None

        :param seq: Sequence of object
        :type seq: iterable
        :param supplier_func: Function that extracts the desired value from
            elements in seq
        :type supplier_func: function