parent
8f77dd1cf2
commit
677a2f95e5
1 changed files with 8 additions and 1 deletions
|
@ -19,6 +19,7 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
|
import collections
|
||||||
import itertools
|
import itertools
|
||||||
import operator
|
import operator
|
||||||
import uuid
|
import uuid
|
||||||
|
@ -247,7 +248,13 @@ class Base:
|
||||||
new_me = self.__class__()
|
new_me = self.__class__()
|
||||||
|
|
||||||
for name in self._get_base_attributes():
|
for name in self._get_base_attributes():
|
||||||
setattr(new_me, name, getattr(self, name))
|
attr_val = getattr(self, name)
|
||||||
|
if isinstance(attr_val, collections.Sequence):
|
||||||
|
setattr(new_me, name, attr_val[:])
|
||||||
|
elif isinstance(attr_val, collections.Mapping):
|
||||||
|
setattr(new_me, name, attr_val.copy())
|
||||||
|
else:
|
||||||
|
setattr(new_me, name, attr_val)
|
||||||
|
|
||||||
new_me._loader = self._loader
|
new_me._loader = self._loader
|
||||||
new_me._variable_manager = self._variable_manager
|
new_me._variable_manager = self._variable_manager
|
||||||
|
|
Loading…
Reference in a new issue