git://git.onelab.eu
/
sfa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2424add
)
added generic get() and add() methods
author
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 02:27:35 +0000
(21:27 -0500)
committer
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Thu, 10 Nov 2011 02:27:35 +0000
(21:27 -0500)
sfa/rspecs/elements/element.py
patch
|
blob
|
history
diff --git
a/sfa/rspecs/elements/element.py
b/sfa/rspecs/elements/element.py
index
6757f8a
..
2b27d9e
100644
(file)
--- a/
sfa/rspecs/elements/element.py
+++ b/
sfa/rspecs/elements/element.py
@@
-7,3
+7,17
@@
class Element(dict):
dict.__init__(self, self.fields)
self.update(fields)
+ @staticmethod
+ def get(element_class, xml, xpath, namespaces=None):
+ elems = xml.xpath(xpath, namespaces)
+ generic_elems = [element_class(elem.attrib, elem) for elem in elems]
+ return generic_elems
+
+
+ @staticmethod
+ def add(xml, element_class, name, obj):
+ elem = xml.add_element(name)
+ for field in element_class.fields:
+ if field in obj and obj[field]:
+ elem.set(field, obj[field])
+ return elem