summaryrefslogtreecommitdiff
path: root/jinja2/environment.py
diff options
context:
space:
mode:
Diffstat (limited to 'jinja2/environment.py')
-rw-r--r--jinja2/environment.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/jinja2/environment.py b/jinja2/environment.py
index 450cac1..ee35b89 100644
--- a/jinja2/environment.py
+++ b/jinja2/environment.py
@@ -27,9 +27,9 @@ from jinja2.exceptions import TemplateSyntaxError, TemplateNotFound, \
TemplatesNotFound, TemplateRuntimeError
from jinja2.utils import import_string, LRUCache, Markup, missing, \
concat, consume, internalcode, _encode_filename
-import six
+from jinja2._compat import imap, ifilter, string_types, iteritems, \
+ text_type, reraise, PY3, Iterator, next
from functools import reduce
-from six.moves import filter, map
# for direct template usage we have up to ten living environments
@@ -80,7 +80,7 @@ def load_extensions(environment, extensions):
"""
result = {}
for extension in extensions:
- if isinstance(extension, six.string_types):
+ if isinstance(extension, string_types):
extension = import_string(extension)
result[extension.identifier] = extension(environment)
return result
@@ -315,7 +315,7 @@ class Environment(object):
yet. This is used by :ref:`extensions <writing-extensions>` to register
callbacks and configuration values without breaking inheritance.
"""
- for key, value in six.iteritems(attributes):
+ for key, value in iteritems(attributes):
if not hasattr(self, key):
setattr(self, key, value)
@@ -347,7 +347,7 @@ class Environment(object):
rv.overlayed = True
rv.linked_to = self
- for key, value in six.iteritems(args):
+ for key, value in iteritems(args):
if value is not missing:
setattr(rv, key, value)
@@ -357,7 +357,7 @@ class Environment(object):
rv.cache = copy_cache(self.cache)
rv.extensions = {}
- for key, value in six.iteritems(self.extensions):
+ for key, value in iteritems(self.extensions):
rv.extensions[key] = value.bind(rv)
if extensions is not missing:
rv.extensions.update(load_extensions(rv, extensions))
@@ -376,7 +376,7 @@ class Environment(object):
try:
return obj[argument]
except (TypeError, LookupError):
- if isinstance(argument, six.string_types):
+ if isinstance(argument, string_types):
try:
attr = str(argument)
except Exception:
@@ -467,7 +467,7 @@ class Environment(object):
of the extensions to be applied you have to filter source through
the :meth:`preprocess` method.
"""
- source = six.text_type(source)
+ source = text_type(source)
try:
return self.lexer.tokeniter(source, name, filename)
except TemplateSyntaxError:
@@ -480,7 +480,7 @@ class Environment(object):
because there you usually only want the actual source tokenized.
"""
return reduce(lambda s, e: e.preprocess(s, name, filename),
- self.iter_extensions(), six.text_type(source))
+ self.iter_extensions(), text_type(source))
def _tokenize(self, source, name, filename=None, state=None):
"""Called by the parser to do the preprocessing and filtering
@@ -534,7 +534,7 @@ class Environment(object):
"""
source_hint = None
try:
- if isinstance(source, six.string_types):
+ if isinstance(source, string_types):
source_hint = source
source = self._parse(source, name, filename)
if self.optimized:
@@ -708,7 +708,7 @@ class Environment(object):
filter_func = lambda x: '.' in x and \
x.rsplit('.', 1)[1] in extensions
if filter_func is not None:
- x = filter(filter_func, x)
+ x = ifilter(filter_func, x)
return x
def handle_exception(self, exc_info=None, rendered=False, source_hint=None):
@@ -731,7 +731,7 @@ class Environment(object):
if self.exception_handler is not None:
self.exception_handler(traceback)
exc_type, exc_value, tb = traceback.standard_exc_info
- six.reraise(exc_type, exc_value, tb)
+ reraise(exc_type, exc_value, tb)
def join_path(self, template, parent):
"""Join a template with the parent. By default all the lookups are
@@ -818,7 +818,7 @@ class Environment(object):
.. versionadded:: 2.3
"""
- if isinstance(template_name_or_list, six.string_types):
+ if isinstance(template_name_or_list, string_types):
return self.get_template(template_name_or_list, parent, globals)
elif isinstance(template_name_or_list, Template):
return template_name_or_list
@@ -1040,7 +1040,7 @@ class Template(object):
@property
def debug_info(self):
"""The debug info mapping."""
- return [tuple(map(int, x.split('='))) for x in
+ return [tuple(imap(int, x.split('='))) for x in
self._debug_info.split('&')]
def __repr__(self):
@@ -1067,7 +1067,7 @@ class TemplateModule(object):
def __str__(self):
s = self.__unicode__()
- return s if six.PY3 else s.encode('utf-8')
+ return s if PY3 else s.encode('utf-8')
def __unicode__(self):
return concat(self._body_stream)
@@ -1099,7 +1099,7 @@ class TemplateExpression(object):
return rv
-class TemplateStream(six.Iterator):
+class TemplateStream(Iterator):
"""A template stream works pretty much like an ordinary python generator
but it can buffer multiple items to reduce the number of total iterations.
Per default the output is unbuffered which means that for every unbuffered
@@ -1124,7 +1124,7 @@ class TemplateStream(six.Iterator):
Template('Hello {{ name }}!').stream(name='foo').dump('hello.html')
"""
close = False
- if isinstance(fp, six.string_types):
+ if isinstance(fp, string_types):
fp = open(fp, encoding is None and 'w' or 'wb')
close = True
try:
@@ -1143,7 +1143,7 @@ class TemplateStream(six.Iterator):
def disable_buffering(self):
"""Disable the output buffering."""
- self._next = lambda: six.next(self._gen)
+ self._next = lambda: next(self._gen)
self.buffered = False
def enable_buffering(self, size=5):
@@ -1171,7 +1171,7 @@ class TemplateStream(six.Iterator):
c_size = 0
self.buffered = True
- self._next = lambda: six.next(generator(lambda: six.next(self._gen)))
+ self._next = lambda: next(generator(lambda: next(self._gen)))
def __iter__(self):
return self