summaryrefslogtreecommitdiffstats
path: root/backend
diff options
context:
space:
mode:
authorRyan Rix <phrkonaleash@gmail.com>2009-12-04 23:52:38 -0700
committerRyan Rix <phrkonaleash@gmail.com>2009-12-04 23:52:38 -0700
commitfab7d56593afe9114b927759f56ab6d3ca2f7301 (patch)
tree77bc7a82270172595d82cb20f4e82de679dfc5e2 /backend
parentd228176beddc3c66664cf95956b58c6e49c1d922 (diff)
downloadfedora-tour-fab7d56593afe9114b927759f56ab6d3ca2f7301.tar.gz
fedora-tour-fab7d56593afe9114b927759f56ab6d3ca2f7301.tar.xz
fedora-tour-fab7d56593afe9114b927759f56ab6d3ca2f7301.zip
Updated the first mockup to use a blue foliage instead of green. Looks
a little cooler :)
Diffstat (limited to 'backend')
-rw-r--r--backend/tour_menuobject.py6
-rw-r--r--backend/tour_menuobject.py~63
2 files changed, 57 insertions, 12 deletions
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 <Package> 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