summaryrefslogtreecommitdiff
path: root/misc/pylib/robofab/plistFromTree.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/pylib/robofab/plistFromTree.py')
-rwxr-xr-xmisc/pylib/robofab/plistFromTree.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/misc/pylib/robofab/plistFromTree.py b/misc/pylib/robofab/plistFromTree.py
deleted file mode 100755
index 5bf608467..000000000
--- a/misc/pylib/robofab/plistFromTree.py
+++ /dev/null
@@ -1,43 +0,0 @@
-"""Small helper module to parse Plist-formatted data from trees as created
-by xmlTreeBuilder.
-"""
-
-
-__all__ = "readPlistFromTree"
-
-
-from plistlib import PlistParser
-
-
-def readPlistFromTree(tree):
- """Given a (sub)tree created by xmlTreeBuilder, interpret it
- as Plist-formatted data, and return the root object.
- """
- parser = PlistTreeParser()
- return parser.parseTree(tree)
-
-
-class PlistTreeParser(PlistParser):
-
- def parseTree(self, tree):
- element, attributes, children = tree
- self.parseElement(element, attributes, children)
- return self.root
-
- def parseElement(self, element, attributes, children):
- self.handleBeginElement(element, attributes)
- for child in children:
- if isinstance(child, tuple):
- self.parseElement(child[0], child[1], child[2])
- else:
- if not isinstance(child, unicode):
- # ugh, xmlTreeBuilder returns utf-8 :-(
- child = unicode(child, "utf-8")
- self.handleData(child)
- self.handleEndElement(element)
-
-
-if __name__ == "__main__":
- from xmlTreeBuilder import buildTree
- tree = buildTree("xxx.plist", stripData=0)
- print readPlistFromTree(tree)