From fab7d56593afe9114b927759f56ab6d3ca2f7301 Mon Sep 17 00:00:00 2001 From: Ryan Rix Date: Fri, 4 Dec 2009 23:52:38 -0700 Subject: Updated the first mockup to use a blue foliage instead of green. Looks a little cooler :) --- backend/tour_menuobject.py | 6 +++++ backend/tour_menuobject.py~ | 63 ++++++++++++++++++++++++++++++++++++--------- 2 files changed, 57 insertions(+), 12 deletions(-) (limited to 'backend') diff --git a/backend/tour_menuobject.py b/backend/tour_menuobject.py index 8ca7949..2a6a67e 100644 --- a/backend/tour_menuobject.py +++ b/backend/tour_menuobject.py @@ -32,6 +32,7 @@ class MenuObject: activeNode = False Icon = False + IconID = False DocRoot = False Locale = False Priority = False @@ -47,6 +48,8 @@ class MenuObject: self.parser.EndElementHandler = self.parserEndElement self.parser.ParseFile(open(package,"r")) + + self.Icon = makeIcon(IconID) def addNode(self,parent,nodeType): node = MenuNode() @@ -112,5 +115,8 @@ class MenuObject: if name == "Page": self.activeNode = self.activeNode.parent + + def makeIcon(self, iconID): + print MenuObject("../data/package.xml").isValid \ No newline at end of file diff --git a/backend/tour_menuobject.py~ b/backend/tour_menuobject.py~ index f72ffab..9bf1d84 100644 --- a/backend/tour_menuobject.py~ +++ b/backend/tour_menuobject.py~ @@ -20,15 +20,21 @@ import io import os.path import xml.parsers.expat +import sys 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): @@ -42,30 +48,63 @@ class MenuObject: self.parser.ParseFile(open(package,"r")) - def addNode(self,parent): + def addNode(self,parent,nodeType): node = MenuNode() - if parent = False: + node.nodes = list() + node.parent = False + node.nodeType = nodeType + + if parent != False: node.parent = parent parent.nodes.append(node) - return node def parserCharData(self, data): if self.currenElement == False: pass + + elif self.currentElement == "DisplayName": + self.activeNode.displayName = data + + elif self.currentElement == "Icon": + self.activeNode.icon = findIcon(data) + + elif self.currentElement == "DocRoot": + self.activeNode. 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.rootNode = self.addNode(False,"Package") + self.activeNode = self.rootNode elif name == "Page": - self.activeNode = self.addNode(activeNode) - self.currentElement = "Page" + self.activeNode = self.addNode(self.activeNode, "Page") + + elif name == "DisplayName": + self.currentElement = "DisplayName" + + 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): - 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