[pypy-svn] r15063 - pypy/dist/pypy/lib
tismer at codespeak.net
tismer at codespeak.net
Mon Jul 25 19:17:41 CEST 2005
Author: tismer
Date: Mon Jul 25 19:17:40 2005
New Revision: 15063
Modified:
pypy/dist/pypy/lib/marshal.py
Log:
added support for sets
Modified: pypy/dist/pypy/lib/marshal.py
==============================================================================
--- pypy/dist/pypy/lib/marshal.py (original)
+++ pypy/dist/pypy/lib/marshal.py Mon Jul 25 19:17:40 2005
@@ -31,7 +31,6 @@
TYPE_LIST = '['
TYPE_DICT = '{'
TYPE_CODE = 'c'
-TYPE_UNKNOWN = '?'
TYPE_UNICODE = 'u'
TYPE_UNKNOWN = '?'
TYPE_SET = '<'
@@ -192,6 +191,13 @@
except NameError:
pass
+ def dump_set(self, x):
+ self.f.write(TYPE_SET)
+ self.w_long(len(x))
+ for each in set:
+ self.dump(each)
+ dispatch[TYPE_SET] = dump_set
+ dispatch[TYPE_FROZENSET] = dump_set
class NULL:
pass
@@ -376,6 +382,17 @@
freevars, cellvars)
dispatch[TYPE_CODE] = load_code
+ def load_set(self):
+ n = self.r_long()
+ args = [self.load() for i in range(n)]
+ return set(args)
+ dispatch[TYPE_SET] = load_set
+
+ def load_frozenset(self):
+ n = self.r_long()
+ args = [self.load() for i in range(n)]
+ return frozenset(args)
+ dispatch[TYPE_FROZENSET] = load_frozenset
def dump(x, f):
Marshaller(f).dump(x)
More information about the Pypy-commit
mailing list