# HG changeset patch # User cmlenz # Date 1155157215 0 # Node ID c1f4390d50f84c7a5935c899d1400e150fac5a3f # Parent 8332287b550876a110330d54b200b2c14fa05511 Fix bug in HTML serializer, plus some other minor tweaks. diff --git a/markup/core.py b/markup/core.py --- 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 diff --git a/markup/input.py b/markup/input.py --- 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)) diff --git a/markup/output.py b/markup/output.py --- 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 diff --git a/markup/template.py b/markup/template.py --- 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):