Skip to content
Snippets Groups Projects
Commit 8c63a5d1 authored by Martin Reinecke's avatar Martin Reinecke
Browse files

better pickling support

parent fdb84c42
Branches
Tags
No related merge requests found
......@@ -149,6 +149,9 @@ class DomainTuple(object):
return ("DomainTuple, len: {}\n".format(len(self)) +
"\n".join(str(i) for i in self))
def __reduce__(self):
return (_unpickleDomainTuple, (self._dom,))
@staticmethod
def scalar_domain():
if DomainTuple._scalarDomain is None:
......@@ -158,3 +161,7 @@ class DomainTuple(object):
def __repr__(self):
subs = "\n".join(sub.__repr__() for sub in self._dom)
return "DomainTuple:\n"+utilities.indent(subs)
def _unpickleDomainTuple(*args):
return DomainTuple.make(*args)
......@@ -73,6 +73,9 @@ class MultiDomain(object):
def keys(self):
return self._keys
def values(self):
return self._domains
def domains(self):
return self._domains
......@@ -121,7 +124,14 @@ class MultiDomain(object):
res[key] = subdom
return MultiDomain.make(res)
def __reduce__(self):
return (_unpickleMultiDomain, (dict(self),))
def __repr__(self):
subs = "\n".join("{}:\n {}".format(key, dom.__repr__())
for key, dom in self.items())
return "MultiDomain:\n"+indent(subs)
def _unpickleMultiDomain(*args):
return MultiDomain.make(*args)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment