Mercurial > genshi > genshi-test
diff genshi/template/text.py @ 500:0742f421caba experimental-inline
Merged revisions 487-603 via svnmerge from
http://svn.edgewall.org/repos/genshi/trunk
author | cmlenz |
---|---|
date | Fri, 01 Jun 2007 17:21:47 +0000 |
parents | 55cf81951686 |
children | 1837f39efd6f |
line wrap: on
line diff
--- a/genshi/template/text.py +++ b/genshi/template/text.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2006 Edgewall Software +# Copyright (C) 2006-2007 Edgewall Software # All rights reserved. # # This software is licensed as described in the file COPYING, which @@ -15,8 +15,13 @@ import re -from genshi.template.core import BadDirectiveError, Template, SUB +from genshi.template.base import BadDirectiveError, Template, INCLUDE, SUB from genshi.template.directives import * +from genshi.template.directives import Directive, _apply_directives +from genshi.template.interpolation import interpolate + +__all__ = ['TextTemplate'] +__docformat__ = 'restructuredtext en' class TextTemplate(Template): @@ -70,8 +75,9 @@ start, end = mo.span() if start > offset: text = source[offset:start] - for kind, data, pos in self._interpolate(text, self.basedir, - self.filename, lineno): + for kind, data, pos in interpolate(text, self.basedir, + self.filename, lineno, + lookup=self.lookup): stream.append((kind, data, pos)) lineno += len(text.splitlines()) @@ -90,6 +96,9 @@ substream = stream[start_offset:] stream[start_offset:] = [(SUB, ([directive], substream), (self.filepath, lineno, 0))] + elif command == 'include': + pos = (self.filename, lineno, 0) + stream.append((INCLUDE, (value.strip(), []), pos)) elif command != '#': cls = self._dir_by_name.get(command) if cls is None: @@ -102,8 +111,9 @@ if offset < len(source): text = source[offset:].replace('\\#', '#') - for kind, data, pos in self._interpolate(text, self.basedir, - self.filename, lineno): + for kind, data, pos in interpolate(text, self.basedir, + self.filename, lineno, + lookup=self.lookup): stream.append((kind, data, pos)) return stream