def _first_owner(self, name):
        """
        Takes a name, and returns the owner of the deepest subdomain that has an owner

        :returns: (owner or None, list(unowned_subdomain_labels), first_owned_domain)
        """
        owner = None
        unowned = []
        pieces = normalize_name(name).split('.')
        while pieces and is_none_or_zero_address(owner):
            name = '.'.join(pieces)
            owner = self.owner(name)
            if is_none_or_zero_address(owner):
                unowned.append(pieces.pop(0))
        return (owner, unowned, name)
def _first_owner ( self , name ) : owner = None unowned = [ ] pieces = normalize_name ( name ) . split ( '.' ) while pieces and is_none_or_zero_address ( owner ) : name = '.' . join ( pieces ) owner = self . owner ( name ) if is_none_or_zero_address ( owner ) : unowned . append ( pieces . pop ( 0 ) ) return ( owner , unowned , name )
Takes a name, and returns the owner of the deepest subdomain that has an owner

        :returns: (owner or None, list(unowned_subdomain_labels), first_owned_domain)