Exemple #1
0
def xmlSave(object, fileName) :

    import gnosis.xml.pickle as xml_pickle

    file = open(fileName, 'w')
    xml_pickle.dump(object, file)
    file.close()
Exemple #2
0
    def save(self, filename):
        """Save this TreeDict to a file.  You can later restore the TreeDict
        by creating a TreeDict and using the load() method:

        treedict.save("tree.xml")
        newtreedict = TreeDict()
        newtreedict.load("tree.xml")"""
        pickle.dump(self, file(filename, 'w'))
def doit(deepcopy=1):
    f = mk_foo()
    xml_pickle.setDeepCopy(deepcopy)

    print("CREATE XML")
    t1 = time()
    fh = open('aaa.xml','w')
    x = xml_pickle.dump(f,fh)
    fh.close()
    print("TIME = %f"%(time()-t1))
    print("Pickle len = ",os.stat('aaa.xml')[ST_SIZE])

    print("minidom pure parse")
    t1 = time()
    fh = open('aaa.xml','r')
    #minidom.parse(fh)
    fh.close()
    print("TIME = %f"%(time()-t1))

    print("DOM load")
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("DOM") # default, but just to be sure
    #o = xml_pickle.load(fh)
    fh.close()
    print("TIME = %f"%(time()-t1))
    #del o

    print("SAX load")
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("SAX")
    m = xml_pickle.load(fh)
    fh.close()
    print("TIME = %f"%(time()-t1))
    del m

    print("cEXPAT load")
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("cEXPAT")
    #m = xml_pickle.load(fh)
    fh.close()
    print("TIME = %f"%(time()-t1))
Exemple #4
0
def doit(deepcopy=1):
    f = mk_foo()
    xml_pickle.setDeepCopy(deepcopy)

    print "CREATE XML"
    t1 = time()
    fh = open('aaa.xml','w')
    x = xml_pickle.dump(f,fh)
    fh.close()
    print "TIME = %f"%(time()-t1)
    print "Pickle len = ",os.stat('aaa.xml')[ST_SIZE]

    print "minidom pure parse"
    t1 = time()
    fh = open('aaa.xml','r')
    #minidom.parse(fh)
    fh.close()
    print "TIME = %f"%(time()-t1)

    print "DOM load"
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("DOM") # default, but just to be sure
    #o = xml_pickle.load(fh)
    fh.close()
    print "TIME = %f"%(time()-t1)
    #del o

    print "SAX load"
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("SAX")
    m = xml_pickle.load(fh)
    fh.close()
    print "TIME = %f"%(time()-t1)
    del m

    print "cEXPAT load"
    t1 = time()
    fh = open('aaa.xml','r')
    xml_pickle.setParser("cEXPAT")
    #m = xml_pickle.load(fh)
    fh.close()
    print "TIME = %f"%(time()-t1)
Exemple #5
0
if x[0:2] == '\037\213':
    print "OK"
else:
    print "ERROR"
    sys.exit(1) 

g = xml_pickle.loads(x)
if g.a == (1,2,3):
    print "OK"
else:
    print "ERROR"
    sys.exit(1)
    
# method 3 -- StreamWriter is an uncompressed file
fh = open('aaa','wb')
xml_pickle.dump(f,fh)
fh.close()

# check header + contents
fh = open('aaa','rb')
line = fh.read(5)
if line == '<?xml':
    print "OK"
else:
    print "ERROR"
    sys.exit(1)

fh.close()

fh = open('aaa','rb')
g = xml_pickle.load(fh)
if x[0:2] == '\037\213':
    print("OK")
else:
    print("ERROR")
    sys.exit(1)

g = xml_pickle.loads(x)
if g.a == (1, 2, 3):
    print("OK")
else:
    print("ERROR")
    sys.exit(1)

# method 3 -- StreamWriter is an uncompressed file
fh = open('aaa', 'wb')
xml_pickle.dump(f, fh)
fh.close()

# check header + contents
fh = open('aaa', 'rb')
line = fh.read(5)
if line == '<?xml':
    print("OK")
else:
    print("ERROR")
    sys.exit(1)

fh.close()

fh = open('aaa', 'rb')
g = xml_pickle.load(fh)
Exemple #7
0
# (as it should --- pickle shouldn't know about xml_pickle.foo)
# we could just not reuse m, but this is kind of a neat
# way to show what's going on, and how PARANOIA works
xml_pickle.setParanoia(0)

m = xml_pickle.loads(x)
print m.l, m.d, m.t

# now test dump/load to/from a file

fh = open('aaa', 'w')
pickle.dump(m, fh)
fh.close()

fh = open('bbb', 'w')
xml_pickle.dump(m, fh)
fh.close()
del m

fh = open('aaa', 'r')
g = pickle.load(fh)
fh.close()
print g.l, g.d, g.t
del g

fh = open('bbb', 'r')
g = xml_pickle.load(fh)
fh.close()
print g.l, g.d, g.t
del g
Exemple #8
0
# (as it should --- pickle shouldn't know about xml_pickle.foo)
# we could just not reuse m, but this is kind of a neat
# way to show what's going on, and how PARANOIA works
xml_pickle.setParanoia(0)

m = xml_pickle.loads(x)
testfoo(f,m)

# now test dump/load to/from a file

fh = open('aaa','w')
pickle.dump(m,fh)
fh.close()

fh = open('bbb','w')
xml_pickle.dump(m,fh)
fh.close()

fh = open('aaa','r')
g = pickle.load(fh)
fh.close()
testfoo(f,g)

fh = open('bbb','r')
g = xml_pickle.load(fh)
fh.close()
testfoo(f,g)

unlink('aaa')
unlink('bbb')