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