changeset 140:c1f4390d50f8 trunk

Fix bug in HTML serializer, plus some other minor tweaks.
author cmlenz
date Wed, 09 Aug 2006 21:00:15 +0000
parents 8332287b5508
children 520a5b7dd6d2
files markup/core.py markup/input.py markup/output.py markup/template.py
diffstat 4 files changed, 5 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/markup/core.py
+++ b/markup/core.py
@@ -47,7 +47,6 @@
     START = StreamEventKind('START') # a start tag
     END = StreamEventKind('END') # an end tag
     TEXT = StreamEventKind('TEXT') # literal text
-    PROLOG = StreamEventKind('PROLOG') # XML prolog
     DOCTYPE = StreamEventKind('DOCTYPE') # doctype declaration
     START_NS = StreamEventKind('START-NS') # start namespace mapping
     END_NS = StreamEventKind('END-NS') # end namespace mapping
@@ -133,7 +132,6 @@
 START = Stream.START
 END = Stream.END
 TEXT = Stream.TEXT
-PROLOG = Stream.PROLOG
 DOCTYPE = Stream.DOCTYPE
 START_NS = Stream.START_NS
 END_NS = Stream.END_NS
--- a/markup/input.py
+++ b/markup/input.py
@@ -66,7 +66,6 @@
         parser.StartElementHandler = self._handle_start
         parser.EndElementHandler = self._handle_end
         parser.CharacterDataHandler = self._handle_data
-        parser.XmlDeclHandler = self._handle_prolog
         parser.StartDoctypeDeclHandler = self._handle_doctype
         parser.StartNamespaceDeclHandler = self._handle_start_ns
         parser.EndNamespaceDeclHandler = self._handle_end_ns
@@ -141,9 +140,6 @@
     def _handle_data(self, text):
         self._enqueue(Stream.TEXT, text)
 
-    def _handle_prolog(self, version, encoding, standalone):
-        self._enqueue(Stream.PROLOG, (version, encoding, standalone))
-
     def _handle_doctype(self, name, sysid, pubid, has_internal_subset):
         self._enqueue(Stream.DOCTYPE, (name, pubid, sysid))
 
--- a/markup/output.py
+++ b/markup/output.py
@@ -291,8 +291,8 @@
                         if kind is not END:
                             stream.pushback((kind, data, pos))
 
-                buf += ['>']
-                yield Markup(''.join(buf))
+                    buf += ['>']
+                    yield Markup(''.join(buf))
 
             elif kind is END:
                 tag = data
--- a/markup/template.py
+++ b/markup/template.py
@@ -359,7 +359,7 @@
     def __init__(self, value, filename=None, lineno=-1, offset=-1):
         targets, value = value.split(' in ', 1)
         self.targets = [str(name.strip()) for name in targets.split(',')]
-        Directive.__init__(self, value, filename, lineno, offset)
+        Directive.__init__(self, value.strip(), filename, lineno, offset)
 
     def __call__(self, stream, ctxt, directives):
         iterable = self.expr.evaluate(ctxt)
@@ -369,8 +369,9 @@
         scope = {}
         stream = list(stream)
         targets = self.targets
+        single = len(targets) == 1
         for item in iter(iterable):
-            if len(targets) == 1:
+            if single:
                 scope[targets[0]] = item
             else:
                 for idx, name in enumerate(targets):
Copyright (C) 2012-2017 Edgewall Software