enable easy dumps/loads on BaseObject via .save_keys
This commit is contained in:
parent
bdd7ea4684
commit
c85d038700
1 changed files with 20 additions and 2 deletions
|
@ -2,6 +2,8 @@ class BaseObject:
|
||||||
EXTENSIONS = []
|
EXTENSIONS = []
|
||||||
TYPE = None
|
TYPE = None
|
||||||
|
|
||||||
|
save_keys = []
|
||||||
|
|
||||||
def __init__(self, feature):
|
def __init__(self, feature):
|
||||||
self.feature = feature
|
self.feature = feature
|
||||||
|
|
||||||
|
@ -62,5 +64,21 @@ class BaseObject:
|
||||||
def sync_to(self):
|
def sync_to(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def __getstate__(self):
|
def dumps(self):
|
||||||
return None
|
data = [ getattr(self, 'TYPE') ]
|
||||||
|
|
||||||
|
if len(self.save_keys) > 0:
|
||||||
|
for key in self.save_keys:
|
||||||
|
try:
|
||||||
|
data.append(getattr(self, key))
|
||||||
|
except Exception as e:
|
||||||
|
#XXX logging
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
return tuple(data)
|
||||||
|
|
||||||
|
def loads(self, state):
|
||||||
|
self.Type = state[0]
|
||||||
|
|
||||||
|
for idx, key in enumerate(self.save_keys):
|
||||||
|
setattr(self, key, state[idx + 1])
|
||||||
|
|
Loading…
Add table
Reference in a new issue