def __setattr__(self, name, value):
if name in self._protected_attr:<EOL><INDENT>raise AttributeError("<STR_LIT>" % name)<EOL><DEDENT>try:<EOL><INDENT>self._changes[name] = value<EOL><DEDENT>except TypeError:<EOL><INDENT>pass<EOL><DEDENT>self.__dict__[name] = value<EOL>
Set the attribute for any non-protected attribute.