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 = []
|
||||
TYPE = None
|
||||
|
||||
save_keys = []
|
||||
|
||||
def __init__(self, feature):
|
||||
self.feature = feature
|
||||
|
||||
|
@ -62,5 +64,21 @@ class BaseObject:
|
|||
def sync_to(self):
|
||||
pass
|
||||
|
||||
def __getstate__(self):
|
||||
return None
|
||||
def dumps(self):
|
||||
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