def __setattr__()

in pulsar/schema/definition.py [0:0]


    def __setattr__(self, key, value):
        if key == '_default':
            super(Record, self).__setattr__(key, value)
        elif key == '_required_default':
            super(Record, self).__setattr__(key, value)
        elif key == '_required':
            super(Record, self).__setattr__(key, value)
        else:
            if key not in self._fields:
                raise AttributeError('Cannot set undeclared field ' + key + ' on record')

            # Check that type of value matches the field type
            field = self._fields[key]
            value = field.validate_type(key, value)
            super(Record, self).__setattr__(key, value)