diff --git a/SupyML/plugin.py b/SupyML/plugin.py index ed8d9b2..a4516b5 100644 --- a/SupyML/plugin.py +++ b/SupyML/plugin.py @@ -170,12 +170,15 @@ class SupyMLParser: raise LoopTypeIsMissing(node.toxml()) elif loopType is None: loopType = childNode.nodeName - loopCond = childNode.toxml()[len(''):-len('')] + loopCond = childNode.toxml() + loopCond = loopCond[len(loopType+'<>'):-len(loopType+'')] else: loopContent += childNode.toxml() if loopType == 'while': try: - while utils.str.toBool(self._parse(loopCond, variables, True)): + while utils.str.toBool(self._parse(loopCond, variables, + True).split(': ')[1]): + loopContent = '%s' % loopContent output += self._parse(loopContent) except AttributeError: # toBool() failed pass diff --git a/SupyML/test.py b/SupyML/test.py index 438316d..5266f25 100644 --- a/SupyML/test.py +++ b/SupyML/test.py @@ -115,7 +115,7 @@ class SupyMLTestCase(ChannelPluginTestCase): '' '' '', - 'barbar') + 'bar') # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: