diff markup/filters.py @ 10:c5890ef863ba

Moved the template-specific stream event kinds into the template module.
author cmlenz
date Sun, 04 Jun 2006 12:34:17 +0000
parents 821114ec4f69
children 87238328a71d
line wrap: on
line diff
--- a/markup/filters.py
+++ b/markup/filters.py
@@ -30,6 +30,8 @@
     """Responsible for evaluating expressions in a template."""
 
     def __call__(self, stream, ctxt=None):
+        from markup.template import Template
+
         for kind, data, pos in stream:
 
             if kind is Stream.START:
@@ -43,7 +45,7 @@
                     else:
                         values = []
                         for subkind, subdata, subpos in substream:
-                            if subkind is Stream.EXPR:
+                            if subkind is Template.EXPR:
                                 values.append(subdata.evaluate(ctxt))
                             else:
                                 values.append(subdata)
@@ -53,7 +55,7 @@
                     new_attrib.append((name, ''.join(value)))
                 yield kind, (tag, Attributes(new_attrib)), pos
 
-            elif kind is Stream.EXPR:
+            elif kind is Template.EXPR:
                 result = data.evaluate(ctxt)
                 if result is None:
                     continue
@@ -68,7 +70,7 @@
                     # iterable, in which case we yield the
                     # individual items
                     try:
-                        yield Stream.SUB, ([], iter(result)), pos
+                        yield Template.SUB, ([], iter(result)), pos
                     except TypeError:
                         # Neither a string nor an iterable, so just
                         # pass it through
@@ -177,6 +179,8 @@
         self.handler = handler
 
     def __call__(self, stream, ctxt=None):
+        from markup.template import Template
+
         test = self.path.test()
         for kind, data, pos in stream:
             result = test(kind, data, pos)
@@ -192,7 +196,7 @@
                     content.append(ev)
                     test(*ev)
 
-                yield (Stream.SUB,
+                yield (Template.SUB,
                        ([lambda stream, ctxt: self.handler(content, ctxt)], []),
                        pos)
             else:
Copyright (C) 2012-2017 Edgewall Software