summaryrefslogtreecommitdiff
path: root/python/mllib/dom.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mllib/dom.py')
-rw-r--r--python/mllib/dom.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/python/mllib/dom.py b/python/mllib/dom.py
index df2b88322a..486f7082e1 100644
--- a/python/mllib/dom.py
+++ b/python/mllib/dom.py
@@ -148,6 +148,21 @@ class Tag(Node):
if name == k:
return v
+ def _idx(self, attr):
+ idx = 0
+ for k, v in self.attrs:
+ if k == attr:
+ return idx
+ idx += 1
+ return None
+
+ def set_attr(self, name, value):
+ idx = self._idx(name)
+ if idx is None:
+ self.attrs.append((name, value))
+ else:
+ self.attrs[idx] = (name, value)
+
def dispatch(self, f):
try:
attr = "do_" + self.name