(self, name, value)
For convenience, make self.contents directly accessible.

        Underscores, legal in python variable names, are converted to dashes,
        which are legal in IANA tokens.
For convenience, make self.contents directly accessible.
For convenience make self . contents directly accessible .
def __setattr__(self, name, value):
        """
        For convenience, make self.contents directly accessible.

        Underscores, legal in python variable names, are converted to dashes,
        which are legal in IANA tokens.
        """
        if name not in self.normal_attributes and name.lower()==name:
            if type(value) == list:
                if name.endswith('_list'):
                    name = name[:-5]
                self.contents[toVName(name)] = value
            elif name.endswith('_list'):
                raise VObjectError("Component list set to a non-list")
            else:
                self.contents[toVName(name)] = [value]
        else:
            prop = getattr(self.__class__, name, None)
            if isinstance(prop, property):
                prop.fset(self, value)
            else:
                object.__setattr__(self, name, value)
def __setattr__ ( self , name , value ) : if name not in self . normal_attributes and name . lower ( ) == name : if type ( value ) == list : if name . endswith ( '_list' ) : name = name [ : - 5 ] self . contents [ toVName ( name ) ] = value elif name . endswith ( '_list' ) : raise VObjectError ( "Component list set to a non-list" ) else : self . contents [ toVName ( name ) ] = [ value ] else : prop = getattr ( self . __class__ , name , None ) if isinstance ( prop , property ) : prop . fset ( self , value ) else : object . __setattr__ ( self , name , value )