From d87d53743b65d2e9f40ca24bafeb745885969c21 Mon Sep 17 00:00:00 2001 From: Ryan Rix Date: Fri, 4 Dec 2009 21:39:17 -0700 Subject: Work --- backend/tour_menuobject.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'backend') diff --git a/backend/tour_menuobject.py b/backend/tour_menuobject.py index 9149902..3ae853f 100644 --- a/backend/tour_menuobject.py +++ b/backend/tour_menuobject.py @@ -20,6 +20,7 @@ import io import os.path import xml.parsers.expat +import sys class MenuNode: parent = 0 @@ -46,6 +47,7 @@ class MenuObject: node = MenuNode() node.nodes = list() + node.parent = False if parent != False: node.parent = parent @@ -60,23 +62,26 @@ class MenuObject: def parserStartElement(self, name, attrs): print "Encountered "+name+" node Start" + self.currentElement = name + if name == "Package": self.rootNode = self.addNode(False) - self.currentElement = "Package" + self.activeNode = self.rootNode elif name == "Page": self.activeNode = self.addNode(self.activeNode) - - self.currentElement = "Page" elif name == "DisplayName": self.currentElement = "DisplayName" - elif name == "Icon": - if self.rootNode == self.activeNode: - self.currentElement = "Icon" - else: - print " node is only allowed underneath the Node. Please file a bug on the Fedora-tour Fedora component at http://bugzilla.redhat.com" + elif name == "Icon" or name == "DocRoot" or name == "Locale" or name == "Priority": + """ + These tags are only allowed under root, so we should err if this happens. + """ + if self.activeNode.parent != False: + print self.rootNode + print self.activeNode + print "<"+name+"> node is only allowed underneath the Node. Please file a bug on the Fedora-tour Fedora component at http://bugzilla.redhat.com" sys.exit() def parserEndElement(self, name): -- cgit