File: marshal.py

package info (click to toggle)
jython 2.5.3-3%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 43,404 kB
  • ctags: 105,521
  • sloc: python: 351,322; java: 216,346; xml: 1,547; sh: 330; perl: 124; ansic: 102; makefile: 101
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)