From 612b3a88e269f3ff6528f8aca4e65d332aba2974 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Wed, 7 May 2008 15:39:39 +0200 Subject: moved example code around --HG-- branch : trunk rename : examples/cycle.py => examples/basic/cycle.py rename : examples/debugger.py => examples/basic/debugger.py rename : examples/inheritance.py => examples/basic/inheritance.py rename : examples/templates/broken.html => examples/basic/templates/broken.html rename : examples/test.py => examples/basic/test.py rename : examples/test_filter_and_linestatements.py => examples/basic/test_filter_and_linestatements.py rename : examples/test_loop_filter.py => examples/basic/test_loop_filter.py rename : examples/translate.py => examples/basic/translate.py --- examples/basic/cycle.py | 13 ++++++ examples/basic/debugger.py | 7 +++ examples/basic/inheritance.py | 12 +++++ examples/basic/templates/broken.html | 5 +++ examples/basic/test.py | 27 ++++++++++++ examples/basic/test_filter_and_linestatements.py | 25 +++++++++++ examples/basic/test_loop_filter.py | 12 +++++ examples/basic/translate.py | 6 +++ examples/cycle.py | 13 ------ examples/debugger.py | 7 --- examples/inheritance.py | 12 ----- examples/profile.py | 56 ++++++++++++++++++++++++ examples/templates/broken.html | 5 --- examples/test.py | 27 ------------ examples/test_filter_and_linestatements.py | 25 ----------- examples/test_loop_filter.py | 12 ----- examples/translate.py | 6 --- 17 files changed, 163 insertions(+), 107 deletions(-) create mode 100644 examples/basic/cycle.py create mode 100644 examples/basic/debugger.py create mode 100644 examples/basic/inheritance.py create mode 100644 examples/basic/templates/broken.html create mode 100644 examples/basic/test.py create mode 100644 examples/basic/test_filter_and_linestatements.py create mode 100644 examples/basic/test_loop_filter.py create mode 100644 examples/basic/translate.py delete mode 100644 examples/cycle.py delete mode 100644 examples/debugger.py delete mode 100644 examples/inheritance.py create mode 100644 examples/profile.py delete mode 100644 examples/templates/broken.html delete mode 100644 examples/test.py delete mode 100644 examples/test_filter_and_linestatements.py delete mode 100644 examples/test_loop_filter.py delete mode 100644 examples/translate.py (limited to 'examples') diff --git a/examples/basic/cycle.py b/examples/basic/cycle.py new file mode 100644 index 0000000..73dd632 --- /dev/null +++ b/examples/basic/cycle.py @@ -0,0 +1,13 @@ +from jinja2 import Environment + + +env = Environment(line_statement_prefix="#", variable_start_string="${", variable_end_string="}") + + +print env.from_string("""\ +\ +""").render() diff --git a/examples/basic/debugger.py b/examples/basic/debugger.py new file mode 100644 index 0000000..52a8be2 --- /dev/null +++ b/examples/basic/debugger.py @@ -0,0 +1,7 @@ +from jinja2 import Environment +from jinja2.loaders import FileSystemLoader + +env = Environment(loader=FileSystemLoader('templates')) + +tmpl = env.get_template('broken.html') +print tmpl.render(seq=range(10)) diff --git a/examples/basic/inheritance.py b/examples/basic/inheritance.py new file mode 100644 index 0000000..aa687c8 --- /dev/null +++ b/examples/basic/inheritance.py @@ -0,0 +1,12 @@ +from jinja2 import Environment +from jinja2.loaders import DictLoader + + +env = Environment(loader=DictLoader({ +'a': '''[A[{% block body %}{% endblock %}]]''', +'b': '''{% extends 'a' %}{% block body %}[B]{% endblock %}''', +'c': '''{% extends 'b' %}{% block body %}###{{ super() }}###{% endblock %}''' +})) + + +print env.get_template('c').render() diff --git a/examples/basic/templates/broken.html b/examples/basic/templates/broken.html new file mode 100644 index 0000000..bbd5bf4 --- /dev/null +++ b/examples/basic/templates/broken.html @@ -0,0 +1,5 @@ + diff --git a/examples/basic/test.py b/examples/basic/test.py new file mode 100644 index 0000000..b62c84f --- /dev/null +++ b/examples/basic/test.py @@ -0,0 +1,27 @@ +from jinja2 import Environment +from jinja2.loaders import DictLoader + +env = Environment(loader=DictLoader({ +'child.html': u'''\ +{% extends master_layout or 'master.html' %} +{% include helpers = 'helpers.html' %} +{% macro get_the_answer() %}42{% endmacro %} +{% title = 'Hello World' %} +{% block body %} + {{ get_the_answer() }} + {{ helpers.conspirate() }} +{% endblock %} +''', +'master.html': u'''\ + +{{ title }} +{% block body %}{% endblock %} +''', +'helpers.html': u'''\ +{% macro conspirate() %}23{% endmacro %} +''' +})) + + +tmpl = env.get_template("child.html") +print tmpl.render() diff --git a/examples/basic/test_filter_and_linestatements.py b/examples/basic/test_filter_and_linestatements.py new file mode 100644 index 0000000..c9e8f95 --- /dev/null +++ b/examples/basic/test_filter_and_linestatements.py @@ -0,0 +1,25 @@ +from jinja2 import Environment + + +env = Environment(line_statement_prefix='%', variable_start_string="${", variable_end_string="}") +tmpl = env.from_string("""\ +% macro foo() + ${caller(42)} +% endmacro + +% call(var) foo() + [${var}] +% endcall +% filter escape + + % for item in [1, 2, 3] + - ${item} + % endfor +% endfilter +""") + +print tmpl.render(seq=range(10)) diff --git a/examples/basic/test_loop_filter.py b/examples/basic/test_loop_filter.py new file mode 100644 index 0000000..49c2efc --- /dev/null +++ b/examples/basic/test_loop_filter.py @@ -0,0 +1,12 @@ +from jinja2 import Environment + +tmpl = Environment().from_string("""\ + +if condition: {{ 1 if foo else 0 }} +""") + +print tmpl.render(foo=True) diff --git a/examples/basic/translate.py b/examples/basic/translate.py new file mode 100644 index 0000000..3358765 --- /dev/null +++ b/examples/basic/translate.py @@ -0,0 +1,6 @@ +from jinja2 import Environment + +print Environment(extensions=['jinja2.i18n.TransExtension']).from_string("""\ +{% trans %}Hello {{ user }}!{% endtrans %} +{% trans count=users|count %}{{ count }} user{% pluralize %}{{ count }} users{% endtrans %} +""").render(user="someone") diff --git a/examples/cycle.py b/examples/cycle.py deleted file mode 100644 index 73dd632..0000000 --- a/examples/cycle.py +++ /dev/null @@ -1,13 +0,0 @@ -from jinja2 import Environment - - -env = Environment(line_statement_prefix="#", variable_start_string="${", variable_end_string="}") - - -print env.from_string("""\ -\ -""").render() diff --git a/examples/debugger.py b/examples/debugger.py deleted file mode 100644 index 52a8be2..0000000 --- a/examples/debugger.py +++ /dev/null @@ -1,7 +0,0 @@ -from jinja2 import Environment -from jinja2.loaders import FileSystemLoader - -env = Environment(loader=FileSystemLoader('templates')) - -tmpl = env.get_template('broken.html') -print tmpl.render(seq=range(10)) diff --git a/examples/inheritance.py b/examples/inheritance.py deleted file mode 100644 index aa687c8..0000000 --- a/examples/inheritance.py +++ /dev/null @@ -1,12 +0,0 @@ -from jinja2 import Environment -from jinja2.loaders import DictLoader - - -env = Environment(loader=DictLoader({ -'a': '''[A[{% block body %}{% endblock %}]]''', -'b': '''{% extends 'a' %}{% block body %}[B]{% endblock %}''', -'c': '''{% extends 'b' %}{% block body %}###{{ super() }}###{% endblock %}''' -})) - - -print env.get_template('c').render() diff --git a/examples/profile.py b/examples/profile.py new file mode 100644 index 0000000..843efb1 --- /dev/null +++ b/examples/profile.py @@ -0,0 +1,56 @@ +try: + from cProfile import Profile +except ImportError: + from profile import Profile +from pstats import Stats +from jinja2 import Environment as JinjaEnvironment + +context = { + 'page_title': 'mitsuhiko\'s benchmark', + 'table': [dict(a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=10) for x in range(1000)] +} + +jinja_template = JinjaEnvironment( + line_statement_prefix='%', + variable_start_string="${", + variable_end_string="}" +).from_string("""\ + + + + ${page_title|e} + + +
+

${page_title|e}

+
+ +
+ + % for row in table + + % for cell in row + + % endfor + + % endfor +
${cell}
+
+ +\ +""") + + +p = Profile() +p.runcall(lambda: jinja_template.render(context)) +stats = Stats(p) +stats.sort_stats('time', 'calls') +stats.print_stats() diff --git a/examples/templates/broken.html b/examples/templates/broken.html deleted file mode 100644 index bbd5bf4..0000000 --- a/examples/templates/broken.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/examples/test.py b/examples/test.py deleted file mode 100644 index b62c84f..0000000 --- a/examples/test.py +++ /dev/null @@ -1,27 +0,0 @@ -from jinja2 import Environment -from jinja2.loaders import DictLoader - -env = Environment(loader=DictLoader({ -'child.html': u'''\ -{% extends master_layout or 'master.html' %} -{% include helpers = 'helpers.html' %} -{% macro get_the_answer() %}42{% endmacro %} -{% title = 'Hello World' %} -{% block body %} - {{ get_the_answer() }} - {{ helpers.conspirate() }} -{% endblock %} -''', -'master.html': u'''\ - -{{ title }} -{% block body %}{% endblock %} -''', -'helpers.html': u'''\ -{% macro conspirate() %}23{% endmacro %} -''' -})) - - -tmpl = env.get_template("child.html") -print tmpl.render() diff --git a/examples/test_filter_and_linestatements.py b/examples/test_filter_and_linestatements.py deleted file mode 100644 index c9e8f95..0000000 --- a/examples/test_filter_and_linestatements.py +++ /dev/null @@ -1,25 +0,0 @@ -from jinja2 import Environment - - -env = Environment(line_statement_prefix='%', variable_start_string="${", variable_end_string="}") -tmpl = env.from_string("""\ -% macro foo() - ${caller(42)} -% endmacro - -% call(var) foo() - [${var}] -% endcall -% filter escape - - % for item in [1, 2, 3] - - ${item} - % endfor -% endfilter -""") - -print tmpl.render(seq=range(10)) diff --git a/examples/test_loop_filter.py b/examples/test_loop_filter.py deleted file mode 100644 index 49c2efc..0000000 --- a/examples/test_loop_filter.py +++ /dev/null @@ -1,12 +0,0 @@ -from jinja2 import Environment - -tmpl = Environment().from_string("""\ -
    -{%- for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] if item % 2 == 0 %} -
  • {{ loop.index }} / {{ loop.length }}: {{ item }}
  • -{%- endfor %} -
-if condition: {{ 1 if foo else 0 }} -""") - -print tmpl.render(foo=True) diff --git a/examples/translate.py b/examples/translate.py deleted file mode 100644 index 3358765..0000000 --- a/examples/translate.py +++ /dev/null @@ -1,6 +0,0 @@ -from jinja2 import Environment - -print Environment(extensions=['jinja2.i18n.TransExtension']).from_string("""\ -{% trans %}Hello {{ user }}!{% endtrans %} -{% trans count=users|count %}{{ count }} user{% pluralize %}{{ count }} users{% endtrans %} -""").render(user="someone") -- cgit v1.2.1