Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 159 lines (137 sloc) 5.051 kb
de478f6 Armin Ronacher [svn] some small updates to make jinja performing better
authored
1 # -*- coding: utf-8 -*-
5829306 Armin Ronacher moved docstring into setup.py, this fixes #297
authored
2 """
3 jinja
4 ~~~~~
5
6 Jinja is a `sandboxed`_ template engine written in pure Python. It
7 provides a `Django`_ like non-XML syntax and compiles templates into
8 executable python code. It's basically a combination of Django templates
9 and python code.
10
11 Nutshell
12 --------
13
14 Here a small example of a Jinja template::
15
16 {% extends 'base.html' %}
17 {% block title %}Memberlist{% endblock %}
18 {% block content %}
19 <ul>
20 {% for user in users %}
21 <li><a href="{{ user.url|e }}">{{ user.username|e }}</a></li>
22 {% endfor %}
23 </ul>
24 {% endblock %}
25
26 Philosophy
27 ----------
28
29 Application logic is for the controller but don't try to make the life
30 for the template designer too hard by giving him too few functionality.
31
32 For more informations visit the new `jinja webpage`_ and `documentation`_.
33
34 Note
35 ----
36
37 This is the Jinja 1.0 release which is completely incompatible with the
38 old "pre 1.0" branch. The old branch will still receive security updates
39 and bugfixes but the 1.0 branch will be the only version that receives
40 support.
41
42 If you have an application that uses Jinja 0.9 and won't be updated in
43 the near future the best idea is to ship a Jinja 0.9 checkout together
44 with the application.
45
46 The `Jinja tip`_ is installable via `easy_install` with ``easy_install
47 Jinja==dev``.
48
49 .. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
50 .. _Django: http://www.djangoproject.com/
51 .. _jinja webpage: http://jinja.pocoo.org/
52 .. _documentation: http://jinja.pocoo.org/documentation/index.html
53 .. _Jinja tip: http://dev.pocoo.org/hg/jinja-main/archive/tip.tar.gz#egg=Jinja-dev
54 """
0830e25 Armin Ronacher [svn] moved www out of jinja trunk and updated setup.py file
authored
55 import os
d15a4dc Armin Ronacher [svn] updated Jinja setup.py for (hopefully for) win32 compatibility
authored
56 import sys
0830e25 Armin Ronacher [svn] moved www out of jinja trunk and updated setup.py file
authored
57 import ez_setup
58 ez_setup.use_setuptools()
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
59
60 from distutils.command.build_ext import build_ext
bc3d2d8 Armin Ronacher fixed a couple of errors with the c extensions build process on windows
authored
61 from distutils.errors import CCompilerError, DistutilsError
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
62 from setuptools import setup, Extension, Feature
de478f6 Armin Ronacher [svn] some small updates to make jinja performing better
authored
63
0830e25 Armin Ronacher [svn] moved www out of jinja trunk and updated setup.py file
authored
64
e21ced2 Armin Ronacher [svn] again jinja setup.py update. works now
authored
65 def list_files(path):
66 for fn in os.listdir(path):
67 if fn.startswith('.'):
68 continue
69 fn = os.path.join(path, fn)
70 if os.path.isfile(fn):
71 yield fn
72
73
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
74 class optional_build_ext(build_ext):
75
bc3d2d8 Armin Ronacher fixed a couple of errors with the c extensions build process on windows
authored
76 def run(self):
77 try:
78 build_ext.run(self)
79 except DistutilsError, e:
80 self.compiler = None
81 self._setup_error = e
82
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
83 def build_extension(self, ext):
84 try:
bc3d2d8 Armin Ronacher fixed a couple of errors with the c extensions build process on windows
authored
85 if self.compiler is None:
86 raise self._setup_error
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
87 build_ext.build_extension(self, ext)
88 except CCompilerError, e:
89 print '=' * 79
90 print 'INFORMATION'
d15a4dc Armin Ronacher [svn] updated Jinja setup.py for (hopefully for) win32 compatibility
authored
91 print ' the speedup extension could not be compiled, Jinja will'
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
92 print ' fall back to the native python classes.'
93 print '=' * 79
d15a4dc Armin Ronacher [svn] updated Jinja setup.py for (hopefully for) win32 compatibility
authored
94 except:
95 e = sys.exc_info()[1]
96 print '=' * 79
97 print 'WARNING'
98 print ' could not compile optional speedup extension. This is'
99 print ' is not a real problem because Jinja provides a native'
100 print ' implementation of those classes but for best performance'
101 print ' you could try to reinstall Jinja after fixing this'
102 print ' problem: %s' % e
103 print '=' * 79
ee2c18e Armin Ronacher [svn] added c implementation of the jinja context class.
authored
104
105
de478f6 Armin Ronacher [svn] some small updates to make jinja performing better
authored
106 setup(
015b0c9 Armin Ronacher some documentation changes
authored
107 name='Jinja',
1c19919 Armin Ronacher tip is now going towards 1.3
authored
108 version='1.3',
015b0c9 Armin Ronacher some documentation changes
authored
109 url='http://jinja.pocoo.org/',
110 license='BSD',
111 author='Armin Ronacher',
112 author_email='armin.ronacher@active-4.com',
113 description='A small but fast and easy to use stand-alone template '
114 'engine written in pure python.',
5829306 Armin Ronacher moved docstring into setup.py, this fixes #297
authored
115 long_description = __doc__,
e21ced2 Armin Ronacher [svn] again jinja setup.py update. works now
authored
116 # jinja is egg safe. But because we distribute the documentation
117 # in form of html and txt files it's a better idea to extract the files
015b0c9 Armin Ronacher some documentation changes
authored
118 zip_safe=False,
119 classifiers=[
de478f6 Armin Ronacher [svn] some small updates to make jinja performing better
authored
120 'Development Status :: 5 - Production/Stable',
121 'Environment :: Web Environment',
122 'Intended Audience :: Developers',
123 'License :: OSI Approved :: BSD License',
124 'Operating System :: OS Independent',
125 'Programming Language :: Python',
8ebf1f9 Armin Ronacher [svn] doc update, setup.py update, added turbogears plugin
authored
126 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
127 'Topic :: Software Development :: Libraries :: Python Modules',
128 'Topic :: Text Processing :: Markup :: HTML'
129 ],
015b0c9 Armin Ronacher some documentation changes
authored
130 keywords=['python.templating.engines'],
21dce51 Armin Ronacher added jinja.contrib to setup.py
authored
131 packages=['jinja', 'jinja.translators', 'jinja.contrib'],
015b0c9 Armin Ronacher some documentation changes
authored
132 data_files=[
99e5baa Armin Ronacher some more small release changes
authored
133 ('docs/html', list(list_files('docs/html'))),
72bb257 Armin Ronacher [svn] added doc notes to the installation instructions
authored
134 ('docs/txt', list(list_files('docs/src')))
0830e25 Armin Ronacher [svn] moved www out of jinja trunk and updated setup.py file
authored
135 ],
2158091 Armin Ronacher [svn] various updates i haven't checked in so far (see the diff of the c...
authored
136 entry_points='''
137 [python.templating.engines]
138 jinja = jinja.plugin:BuffetPlugin
139 ''',
015b0c9 Armin Ronacher some documentation changes
authored
140 extras_require={'plugin': ['setuptools>=0.6a2']},
141 features={
a7804ef Armin Ronacher [svn] added "debugger of awesomeness" :D
authored
142 'speedups': Feature(
143 'optional C-speed enhancements',
825e522 Armin Ronacher some more doc changes in jinja for the upcoming release
authored
144 standard=True,
145 ext_modules=[
a7804ef Armin Ronacher [svn] added "debugger of awesomeness" :D
authored
146 Extension('jinja._speedups', ['jinja/_speedups.c'])
147 ]
148 ),
149 'extended-debugger': Feature(
150 'extended debugger',
825e522 Armin Ronacher some more doc changes in jinja for the upcoming release
authored
151 standard=True,
152 ext_modules=[
a7804ef Armin Ronacher [svn] added "debugger of awesomeness" :D
authored
153 Extension('jinja._debugger', ['jinja/_debugger.c'])
154 ]
155 )
156 },
015b0c9 Armin Ronacher some documentation changes
authored
157 cmdclass={'build_ext': optional_build_ext}
de478f6 Armin Ronacher [svn] some small updates to make jinja performing better
authored
158 )
Something went wrong with that request. Please try again.