Mercurial > genshi > genshi-test
comparison genshi/template/markup.py @ 647:5af131b37ab4 experimental-sandboxed
restricted is the new secure
author | aronacher |
---|---|
date | Wed, 26 Sep 2007 17:56:41 +0000 |
parents | 1cf5fdfe7214 |
children | 11b2fc530c94 |
comparison
equal
deleted
inserted
replaced
646:b6cdfcb37496 | 647:5af131b37ab4 |
---|---|
60 serializer = 'xml' | 60 serializer = 'xml' |
61 _number_conv = Markup | 61 _number_conv = Markup |
62 | 62 |
63 def __init__(self, source, basedir=None, filename=None, loader=None, | 63 def __init__(self, source, basedir=None, filename=None, loader=None, |
64 encoding=None, lookup='strict', allow_exec=True, | 64 encoding=None, lookup='strict', allow_exec=True, |
65 secure=False): | 65 restricted=False): |
66 Template.__init__(self, source, basedir=basedir, filename=filename, | 66 Template.__init__(self, source, basedir=basedir, filename=filename, |
67 loader=loader, encoding=encoding, lookup=lookup, | 67 loader=loader, encoding=encoding, lookup=lookup, |
68 allow_exec=allow_exec, secure=secure) | 68 allow_exec=allow_exec, restricted=restricted) |
69 # Make sure the include filter comes after the match filter | 69 # Make sure the include filter comes after the match filter |
70 if loader: | 70 if loader: |
71 self.filters.remove(self._include) | 71 self.filters.remove(self._include) |
72 self.filters += [self._match] | 72 self.filters += [self._match] |
73 if loader: | 73 if loader: |
128 directives.append((cls, value, ns_prefix.copy(), pos)) | 128 directives.append((cls, value, ns_prefix.copy(), pos)) |
129 else: | 129 else: |
130 if value: | 130 if value: |
131 value = list(interpolate(value, self.basedir, | 131 value = list(interpolate(value, self.basedir, |
132 pos[0], pos[1], pos[2], | 132 pos[0], pos[1], pos[2], |
133 lookup=self.lookup)) | 133 lookup=self.lookup, |
134 restricted=self.restricted)) | |
134 if len(value) == 1 and value[0][0] is TEXT: | 135 if len(value) == 1 and value[0][0] is TEXT: |
135 value = value[0][1] | 136 value = value[0][1] |
136 else: | 137 else: |
137 value = [(TEXT, u'', pos)] | 138 value = [(TEXT, u'', pos)] |
138 new_attrs.append((name, value)) | 139 new_attrs.append((name, value)) |
211 stream.append((EXEC, suite, pos)) | 212 stream.append((EXEC, suite, pos)) |
212 | 213 |
213 elif kind is TEXT: | 214 elif kind is TEXT: |
214 for kind, data, pos in interpolate(data, self.basedir, pos[0], | 215 for kind, data, pos in interpolate(data, self.basedir, pos[0], |
215 pos[1], pos[2], | 216 pos[1], pos[2], |
216 lookup=self.lookup): | 217 lookup=self.lookup, |
218 restricted=self.restricted): | |
217 stream.append((kind, data, pos)) | 219 stream.append((kind, data, pos)) |
218 | 220 |
219 elif kind is COMMENT: | 221 elif kind is COMMENT: |
220 if not data.lstrip().startswith('!'): | 222 if not data.lstrip().startswith('!'): |
221 stream.append((kind, data, pos)) | 223 stream.append((kind, data, pos)) |