[svn] jinja webpage without annyoing .html suffixes now
authorArmin Ronacher <armin.ronacher@active-4.com>
Thu, 5 Apr 2007 17:15:11 +0000 (19:15 +0200)
committerArmin Ronacher <armin.ronacher@active-4.com>
Thu, 5 Apr 2007 17:15:11 +0000 (19:15 +0200)
--HG--
branch : trunk

docs/generate.py
jinja/datastructure.py
jinja/environment.py
jinja/filters.py
jinja/lexer.py

index 9ae42f4a98b1c21b540f2f6e35a1ebb968ebd1c5..76e027c7a8ea1e79d4d1fba27bd9b79e3e46e84d 100755 (executable)
@@ -258,7 +258,8 @@ def handle_file(filename, fp, dst, preproc):
     now = datetime.now()
     title = os.path.basename(filename)[:-4]
     content = fp.read()
-    parts = generate_documentation(content, (lambda x: './%s.html' % x))
+    suffix = not preproc and '.html' or ''
+    parts = generate_documentation(content, (lambda x: './%s%s' % (x, suffix)))
     result = file(os.path.join(dst, title + '.html'), 'w')
     c = dict(parts)
     c['style'] = PYGMENTS_FORMATTER.get_style_defs('.syntax')
index 7ccd64f3461f1b302527c1f075d152d2fcf948a3..85186d25ea61458e4ff9c7e082c1f8ec47d39646 100644 (file)
@@ -16,9 +16,6 @@ except NameError:
     from sets import Set as set
 
 from jinja.exceptions import TemplateSyntaxError, TemplateRuntimeError
-from cgi import escape
-
-_known_safe_types = set([int, long, float])
 
 
 def contextcallable(f):
@@ -159,6 +156,9 @@ class Deferred(object):
 class Markup(unicode):
     """
     Compatibility for Pylons and probably some other frameworks.
+
+    It's only used in Jinja environments with `auto_escape` set
+    to true.
     """
 
     def __html__(self):
index ed75a06aa2f0844f937a976a885eae5e631a0f64..b390c01183ff9d48444169cfc8dc76e5292e5bcd 100644 (file)
@@ -13,7 +13,7 @@ from jinja.lexer import Lexer
 from jinja.parser import Parser
 from jinja.loaders import LoaderWrapper
 from jinja.datastructure import Undefined, Markup, Context, FakeTranslator
-from jinja.utils import escape, collect_translations, get_attribute
+from jinja.utils import collect_translations, get_attribute
 from jinja.exceptions import FilterNotFound, TestNotFound, \
      SecurityException, TemplateSyntaxError, TemplateRuntimeError
 from jinja.defaults import DEFAULT_FILTERS, DEFAULT_TESTS, DEFAULT_NAMESPACE
index 971d99b5f3cf5400a91071784461baca843061e7..f54aaa1930397b5a560aa8560e4ef7cff82ec853 100644 (file)
@@ -105,12 +105,15 @@ def do_escape(attribute=False):
 
     This method will have no effect it the value is already escaped.
     """
+    #: because filters are cached we can make a local alias to
+    #: speed things up a bit
+    e = escape
     def wrapped(env, context, s):
         if isinstance(s, TemplateData):
             return s
         elif hasattr(s, '__html__'):
             return s.__html__()
-        return escape(env.to_unicode(s), attribute)
+        return e(env.to_unicode(s), attribute)
     return wrapped
 
 
index ec5052c5a59ce2e583aae375f082b628f5ddc7cc..4d5986ae43f76ebb79d724aa3c256236db1e78fd 100644 (file)
@@ -50,7 +50,7 @@ operator_re = re.compile('(%s)' % '|'.join([
     '[', ']', '(', ')', '{', '}',
     # attribute access and comparison / logical operators
     '.', ':', ',', '|', '==', '<', '>', '<=', '>=', '!=', '=',
-    ur'or\b', ur'and\b', ur'not\b', ur'in\b', ur'is'
+    ur'or\b', ur'and\b', ur'not\b', ur'in\b', ur'is\b'
 ]]))
 
 # set of used keywords