#! /usr/bin/python import sys, urllib, string from objectparse import ObjectClassFactory, ObjectDocumentHandler, ObjectParseHandler from plantobjs import PlantGroup, Plant class PlantClassFactory(ObjectClassFactory): def __init__(self): pass def CreateObject(self, name): newobj = None if name == "group": newobj = PlantGroup() elif name == "plant": newobj = Plant() return newobj def CreateTopObject(self): return PlantGroup() class PlantDocumentHandler(ObjectDocumentHandler): def __init__(self): ObjectDocumentHandler.__init__(self, PlantClassFactory()) def render(self): self.topobj.toprender() def xmlrender(self): self.topobj.xmltoprender() class PlantParseHandler(ObjectParseHandler): def MakeHandler(self): return PlantDocumentHandler() def PostParse(self): self.handler.render() class PlantXMLParseHandler(ObjectParseHandler): def MakeHandler(self): return PlantDocumentHandler() def PostParse(self): self.handler.xmlrender() if __name__ == '__main__': parsehandler = PlantParseHandler() if not parsehandler.RunAndCatch(sys.argv[1]): sys.exit(1)