blob: ea8b2913444e6c8cfeecbb04649fdb5ec7f507d1 [file] [log] [blame]
Tor Norbye3a2425a2013-11-04 10:16:08 -08001"""Marshal module written in Python.
2
3This doesn't marshal code objects, but supports everything else.
4Performance or careful error checking is not an issue.
5
6"""
7
8import cStringIO
9from _marshal import Marshaller, Unmarshaller
10
11def dump(x, f, version=2):
12 Marshaller(f, version).dump(x)
13
14# XXX - added just for debugging. remove!
15def load(f, debug=False):
16 u = Unmarshaller(f)
17 if debug:
18 u._debug()
19 return u.load()
20
21def dumps(x, version=2):
22 f = cStringIO.StringIO()
23 dump(x, f, version)
24 return f.getvalue()
25
26def loads(s):
27 f = cStringIO.StringIO(s)
28 return load(f)