From 0ba7dd01124dd81fc4c0ea0758288123abbc2e69 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 26 Jan 2009 16:27:21 +0000 Subject: [PATCH] added getDictsByTagName method --- util/rspec.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/util/rspec.py b/util/rspec.py index 6c6c682d..88df71ef 100644 --- a/util/rspec.py +++ b/util/rspec.py @@ -45,7 +45,7 @@ class Rspec(): node[attr] = attributeDom.attributes.get(attr).value return node - + def toDict(self, nodeDom = None): """ convert this rspec to a dict and return it. @@ -134,5 +134,24 @@ class Rspec(): return rootNode def parseDict(self, rdict, include_doc = True): + """ + Convert a dictionary into a dom object and store it. + """ self.rootNode = self.dict2dom(rdict, include_doc) + + def getDictsByTagName(self, tagname, dom = None): + """ + Search the dom for all elements with the specified tagname + and return them as a list of dicts + """ + if not dom: + dom = self.rootNode + dicts = [] + doms = dom.getElementsByTagName(tagname) + dictlist = [self.toDict(d) for d in doms] + for item in dictlist: + for value in item.values(): + dicts.append(value) + return dicts + -- 2.47.0