suds-py3
suds-py3 copied to clipboard
Resolve problem with copying suds.client.Client in python3
We encountered a problem while copping a suds.client.Client in python 3. You can find a simple reproduction program here: example.zip
We have created a fix. However I am not to familiar with this project so feel free to make changes
Running the example program gives the following exception:
Traceback (most recent call last):
File "bug.py", line 6, in <module>
x.clone()
File "/home/david/.local/lib/python3.8/site-packages/suds/client.py", line 181, in clone
cp.update(deepcopy(mp))
File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.8/copy.py", line 205, in _deepcopy_list
append(deepcopy(a, memo))
File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.8/copy.py", line 210, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.8/copy.py", line 210, in <listcomp>
y = [deepcopy(a, memo) for a in x]
File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.8/copy.py", line 271, in _reconstruct
if hasattr(y, '__setstate__'):
File "/home/david/.local/lib/python3.8/site-packages/suds/properties.py", line 131, in __getattr__
return getattr(self.target, name)
File "/home/david/.local/lib/python3.8/site-packages/suds/properties.py", line 131, in __getattr__
return getattr(self.target, name)
File "/home/david/.local/lib/python3.8/site-packages/suds/properties.py", line 131, in __getattr__
return getattr(self.target, name)
[Previous line repeated 975 more times]
RecursionError: maximum recursion depth exceeded