(self, other, method=None, **_)
return self
propagate metadata from other to self

        Parameters
        ----------
        other : the object from which to get the attributes that we are going
            to propagate
        method : optional, a passed method name ; possibly to take different
            types of propagation actions based on this
propagate metadata from other to self
propagate metadata from other to self
def __finalize__(self, other, method=None, **_):
        """
        propagate metadata from other to self

        Parameters
        ----------
        other : the object from which to get the attributes that we are going
            to propagate
        method : optional, a passed method name ; possibly to take different
            types of propagation actions based on this

        """
        if method == 'concat':
            objs = other.objs
        elif method == 'merge':
            objs = other.left, other.right
        else:
            objs = [other]

        orange_role = getattr(self, 'orange_role', None)
        dicts = {dname: getattr(self, dname, {})
                 for dname in ('orange_variables',
                               'orange_weights',
                               'orange_attributes')}
        for obj in objs:
            other_role = getattr(obj, 'orange_role', None)
            if other_role is not None:
                orange_role = other_role

            for dname, dict_ in dicts.items():
                other_dict = getattr(obj, dname, {})
                dict_.update(other_dict)

        object.__setattr__(self, 'orange_role', orange_role)
        for dname, dict_ in dicts.items():
            object.__setattr__(self, dname, dict_)

        return self
def __finalize__ ( self , other , method = None , * * _ ) : if method == 'concat' : objs = other . objs elif method == 'merge' : objs = other . left , other . right else : objs = [ other ] orange_role = getattr ( self , 'orange_role' , None ) dicts = { dname : getattr ( self , dname , { } ) for dname in ( 'orange_variables' , 'orange_weights' , 'orange_attributes' ) } for obj in objs : other_role = getattr ( obj , 'orange_role' , None ) if other_role is not None : orange_role = other_role for dname , dict_ in dicts . items ( ) : other_dict = getattr ( obj , dname , { } ) dict_ . update ( other_dict ) object . __setattr__ ( self , 'orange_role' , orange_role ) for dname , dict_ in dicts . items ( ) : object . __setattr__ ( self , dname , dict_ ) return self