From d228176beddc3c66664cf95956b58c6e49c1d922 Mon Sep 17 00:00:00 2001 From: Ryan Rix Date: Fri, 4 Dec 2009 21:48:14 -0700 Subject: Maybe finished parser --- backend/tour_menuobject.py | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) (limited to 'backend') diff --git a/backend/tour_menuobject.py b/backend/tour_menuobject.py index 3ae853f..8ca7949 100644 --- a/backend/tour_menuobject.py +++ b/backend/tour_menuobject.py @@ -26,10 +26,15 @@ class MenuNode: parent = 0 class MenuObject: - isValid = True; - currenElement = False; - rootNode = False; - activeNode = False; + isValid = True + currenElement = False + rootNode = False + activeNode = False + + Icon = False + DocRoot = False + Locale = False + Priority = False def __init__(self,package): if not os.path.isfile(package): @@ -43,11 +48,12 @@ class MenuObject: self.parser.ParseFile(open(package,"r")) - def addNode(self,parent): + def addNode(self,parent,nodeType): node = MenuNode() node.nodes = list() node.parent = False + node.nodeType = nodeType if parent != False: node.parent = parent @@ -58,6 +64,21 @@ class MenuObject: def parserCharData(self, data): if self.currenElement == False: pass + + elif self.currentElement == "DisplayName": + self.activeNode.displayName = data + + elif self.currentElement == "Icon": + self.IconID = data + + elif self.currentElement == "DocRoot": + self.DocRoot = data + + elif self.currentElement == "Locale": + self.Locale = data + + elif self.currentElement == "Priority": + self.Priority = data def parserStartElement(self, name, attrs): print "Encountered "+name+" node Start" @@ -65,11 +86,11 @@ class MenuObject: self.currentElement = name if name == "Package": - self.rootNode = self.addNode(False) + self.rootNode = self.addNode(False,"Package") self.activeNode = self.rootNode elif name == "Page": - self.activeNode = self.addNode(self.activeNode) + self.activeNode = self.addNode(self.activeNode, "Page") elif name == "DisplayName": self.currentElement = "DisplayName" @@ -85,6 +106,11 @@ class MenuObject: sys.exit() def parserEndElement(self, name): - print name + print "Encountered "+name+" node End" + + self.currentElement == False + + if name == "Page": + self.activeNode = self.activeNode.parent print MenuObject("../data/package.xml").isValid \ No newline at end of file -- cgit