| 887 | self._box_config["frozen_box"] = was_frozen |
| 888 | |
| 889 | def setdefault(self, item, default=None): |
| 890 | if item in self: |
| 891 | return self[item] |
| 892 | |
| 893 | if self._box_config["box_dots"]: |
| 894 | if item in _get_dot_paths(self): |
| 895 | return self[item] |
| 896 | |
| 897 | if isinstance(default, dict): |
| 898 | default = self._box_config["box_class"](default, **self.__box_config(extra_namespace=item)) |
| 899 | if isinstance(default, list): |
| 900 | default = box.BoxList(default, **self.__box_config(extra_namespace=item)) |
| 901 | self[item] = default |
| 902 | return self[item] |
| 903 | |
| 904 | def _safe_attr(self, attr): |
| 905 | """Convert a key into something that is accessible as an attribute""" |