def xmlSave(object, fileName) : import gnosis.xml.pickle as xml_pickle file = open(fileName, 'w') xml_pickle.dump(object, file) file.close()
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))
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)
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)
# (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
# (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')