MCPcopy Create free account
hub / github.com/cdgriffith/Box / __setattr__

Method __setattr__

box/box.py:689–705  ·  view source on GitHub ↗
(self, key, value)

Source from the content-addressed store, hash-verified

687 self.__convert_and_store(key, value)
688
689 def __setattr__(self, key, value):
690 if key == "_box_config":
691 return object.__setattr__(self, key, value)
692 if self._box_config["frozen_box"] and self._box_config["__created"]:
693 raise BoxError("Box is frozen")
694 if key in self._protected_keys:
695 raise BoxKeyError(f'Key name "{key}" is protected')
696
697 safe_key = self._safe_attr(key)
698 if safe_key in self._box_config["__safe_keys"]:
699 key = self._box_config["__safe_keys"][safe_key]
700
701 # if user has customized property setter, fall back to default implementation
702 if _get_property_func(self, key)[1] is not None:
703 super().__setattr__(key, value)
704 else:
705 self.__setitem__(key, value)
706
707 def __delitem__(self, key):
708 if self._box_config["frozen_box"]:

Callers 3

test_boxMethod · 0.95
__init__Method · 0.80

Calls 5

_safe_attrMethod · 0.95
__setitem__Method · 0.95
BoxErrorClass · 0.90
BoxKeyErrorClass · 0.90
_get_property_funcFunction · 0.85

Tested by 2

test_boxMethod · 0.76