enthought / enthought/apptools

state_pickler.get_state fails for attributes resulting in StateTuple

Open
#300 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
38
Forks
21
PR merge metrics
No merged PRs in 30d

Description

```
from traits.api import HasTraits, Dict, Str, Tuple, List
from apptools.persistence import state_pickler as sp

class Model(HasTraits):
dict_item = Dict()
tuple_item = Tuple()
str_item = Str()
list_item = List()

def main():
inner = Model(
dict_item=dict(a=1),
tuple_item=(1, 2, 3),
str_item="bla",
list_item=[4, 5, 6]
)
outer = Model(
dict_item=dict(a=inner),
tuple_item=(inner, inner),
str_item="blubb",
list_item=[inner, inner]
)

state = sp.get_state(outer)

if __name__ == '__main__':
main()
```

This results in following exception:
![image](https://user-images.githubusercontent.com/48917891/139004876-749c8bc2-0316-4495-90bf-90e38740d27a.png)

Removing `tuple_item=(inner, inner),` makes it work again.

OS: Win 10
Pkg Versions:
traits==6.3.1
apptools==5.1.0

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.