Fixed `deepcopy` with pointer.

This commit is contained in:
Fabio Caccamo 2022-07-15 23:56:04 +02:00
parent 37fed12485
commit f7d59a2cb8
1 changed files with 8 additions and 0 deletions

View File

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from benedict.core import clone as _clone
class BaseDict(dict):
@ -37,6 +39,12 @@ class BaseDict(dict):
return key in self._dict
return super(BaseDict, self).__contains__(key)
def __deepcopy__(self, memo):
obj = self.__class__()
for key, value in self.items():
obj[key] = _clone(value, memo=memo)
return obj
def __delitem__(self, key):
if self._pointer:
del self._dict[key]