Revision 4c14965f lib/objects.py
b/lib/objects.py | ||
---|---|---|
104 | 104 |
raise KeyError(key) |
105 | 105 |
setattr(self, key, value) |
106 | 106 |
|
107 |
def __getstate__(self): |
|
108 |
state = {} |
|
109 |
for name in self.__slots__: |
|
110 |
if hasattr(self, name): |
|
111 |
state[name] = getattr(self, name) |
|
112 |
return state |
|
113 |
|
|
114 | 107 |
def __setstate__(self, state): |
115 | 108 |
for name in state: |
116 | 109 |
if name in self.__slots__: |
... | ... | |
126 | 119 |
make sure all objects returned are only standard python types. |
127 | 120 |
|
128 | 121 |
""" |
129 |
return dict([(k, getattr(self, k, None)) for k in self.__slots__]) |
|
122 |
result = {} |
|
123 |
for name in self.__slots__: |
|
124 |
value = getattr(self, name, None) |
|
125 |
if value is not None: |
|
126 |
result[name] = value |
|
127 |
return result |
|
128 |
|
|
129 |
__getstate__ = ToDict |
|
130 | 130 |
|
131 | 131 |
@classmethod |
132 | 132 |
def FromDict(cls, val): |
Also available in: Unified diff