File: marshal.py

package info (click to toggle)
jython 2.5.1-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 41,624 kB
  • ctags: 101,579
  • sloc: python: 351,444; java: 204,338; xml: 1,316; sh: 330; ansic: 126; perl: 114; makefile: 94
file content (28 lines) | stat: -rw-r--r-- 603 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"""Marshal module written in Python.

This doesn't marshal code objects, but supports everything else.
Performance or careful error checking is not an issue.

"""

import cStringIO
from _marshal import Marshaller, Unmarshaller

def dump(x, f, version=2):
    Marshaller(f, version).dump(x)

# XXX - added just for debugging. remove!
def load(f, debug=False):
    u = Unmarshaller(f)
    if debug:
        u._debug()
    return u.load()

def dumps(x, version=2):
    f = cStringIO.StringIO()
    dump(x, f, version)
    return f.getvalue()

def loads(s):
    f = cStringIO.StringIO(s)
    return load(f)