| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- """
- xmlio.py
- Mixin class to support pygene objects in
- loading/saving as xml
- """
- import StringIO
- from xml.dom.minidom import getDOMImplementation, parse, parseString
- domimpl = getDOMImplementation()
- class PGXmlMixin(object):
- """
- mixin class to support pygene classes
- serialising themselves to/from xml
- """
- def xmlDump(self, fileobj):
- """
- Dumps out the population to an open file in XML format.
-
- To dump to a string, use .xmlDumps() instead
- """
- doc = domimpl.createDocument(None, "pygene", None)
-
- top = doc.documentElement
- top.appendChild(doc.createComment(
- "generated by pygene - http://www.freenet.org.nz/python/pygene"))
-
- self.xmlDumpSelf(doc, top)
-
- fileobj.write(doc.toxml())
-
-
-
-
- def xmlDumps(self):
- """
- dumps out to xml, returning a string of the raw
- generated xml
- """
- s = StringIO.StringIO()
- self.xmlDump(s)
- return s.getvalue()
-
- def xmlDumpSelf(self, doc, parent):
- """
- Writes out the contents of this population
- into the xml tree
- """
- raise Exception("class %s: xmlDumpSelf not implemented" % \
- self.__class__.__name__)
-
- def xmlDumpClass(self, tag):
- """
- dumps out class information
- """
- tag.setAttribute("class", self.__class__.__name__)
- tag.setAttribute("module", self.__class__.__module__)
-
- def xmlDumpAttribs(self, tag):
- """
- """
|