From 8f3b65075c4800c690c6c68fc3b951284bbde519 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 31 Mar 2009 00:53:35 +0000 Subject: [PATCH] More improvements in convenience methods. The tag for a macro opener has had '}' removed, to make it visually clear that it is unbalanced. --- data/tools/wesnoth/wmliterator.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data/tools/wesnoth/wmliterator.py b/data/tools/wesnoth/wmliterator.py index 0eca3e4ed56..8969860377f 100644 --- a/data/tools/wesnoth/wmliterator.py +++ b/data/tools/wesnoth/wmliterator.py @@ -83,10 +83,12 @@ def isMacroOpener(elem): return type(elem) == type("") and elem.startswith("{") def isAttribute(elem): - "Are we looking at an attribute?" + "Are we looking at an attribute (or attribute tuple)?" if isinstance(elem, WmlIterator): elem = elem.element - return type(elem) == type(()) or (type(elem) == type("") and elem.endswith("=")) + if type(elem) == type(()): + elem = elem[0] + return type(elem) == type("") and elem.endswith("=") class WmlIterator(object): """Return an iterable WML navigation object. @@ -254,7 +256,7 @@ Important Attributes: if k: elements.append((k+'=', m.start()+i, 0)) for m in macroOpenPattern.finditer(text): - elements.append((m.group(1)+'}', m.start(), 1)) + elements.append((m.group(1), m.start(), 1)) for m in macroClosePattern.finditer(text): elements.append((closeMacroType, m.start(), -1)) #sort by start position