diff options
| author | Ben Bangert <ben@groovie.org> | 2010-11-16 10:46:23 -0800 |
|---|---|---|
| committer | Ben Bangert <ben@groovie.org> | 2010-11-16 10:46:23 -0800 |
| commit | ae60bafb11bcf3a85a8ed3c78b8fc57961e8c3b6 (patch) | |
| tree | 9b0da66955d2c0d7d7a74c9d5c628cb4851babfc | |
| parent | 36c1596c229bbaf7745c2a1f2c4dfcfdefb5535d (diff) | |
| download | pyramid-ae60bafb11bcf3a85a8ed3c78b8fc57961e8c3b6.tar.gz pyramid-ae60bafb11bcf3a85a8ed3c78b8fc57961e8c3b6.tar.bz2 pyramid-ae60bafb11bcf3a85a8ed3c78b8fc57961e8c3b6.zip | |
- Added Mako TemplateLookup settings for ``mako.error_handler``,
``mako.default_filters``, and ``mako.imports``.
| -rw-r--r-- | CHANGES.txt | 3 | ||||
| -rw-r--r-- | docs/narr/environment.rst | 48 | ||||
| -rw-r--r-- | pyramid/mako_templating.py | 6 |
3 files changed, 57 insertions, 0 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index f1e55ffce..e8595d6fc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,6 +4,9 @@ Next release Features -------- +- Added Mako TemplateLookup settings for ``mako.error_handler``, + ``mako.default_filters``, and ``mako.imports``. + - Normalized all paster templates: each now uses the name ``main`` to represent the function that returns a WSGI application, each now uses WebError, each now has roughly the same shape of development.ini style. diff --git a/docs/narr/environment.rst b/docs/narr/environment.rst index 2aa4064cd..6df0998d6 100644 --- a/docs/narr/environment.rst +++ b/docs/narr/environment.rst @@ -201,6 +201,54 @@ should be changed accordingly. | | +-----------------------------+ +Mako Error Handler +++++++++++++++++++ + +Python callable which is called whenever Mako compile or runtime exceptions +occur. The callable is passed the current context as well as the exception. If +the callable returns True, the exception is considered to be handled, else it +is re-raised after the function completes. Is used to provide custom +error-rendering functions. + ++-----------------------------+ +| Config File Setting Name | ++=============================+ +| ``mako.error_handler`` _ | +| | +| | +| | ++-----------------------------+ + +Mako Default Filters +++++++++++++++++++++ + +List of string filter names that will be applied to all Mako expressions. + ++-----------------------------+ +| Config File Setting Name | ++=============================+ +| ``mako.default_filters`` _ | +| | +| | +| | ++-----------------------------+ + +Mako Import ++++++++++++ + +String list of Python statements, typically individual “import” lines, which +will be placed into the module level preamble of all generated Python modules. + + ++-----------------------------+ +| Config File Setting Name | ++=============================+ +| ``mako.imports``________ _ | +| | +| | +| | ++-----------------------------+ + Examples -------- diff --git a/pyramid/mako_templating.py b/pyramid/mako_templating.py index b63009e2c..e2330f3ad 100644 --- a/pyramid/mako_templating.py +++ b/pyramid/mako_templating.py @@ -64,6 +64,9 @@ def renderer_factory(info): directories = settings.get('mako.directories') module_directory = settings.get('mako.module_directory') input_encoding = settings.get('mako.input_encoding', 'utf-8') + error_handler = settings.get('mako.error_handler', None) + default_filters = settings.get('mako.default_filters', []) + imports = settings.get('mako.imports', []) if directories is None: raise ConfigurationError( 'Mako template used without a ``mako.directories`` setting') @@ -72,6 +75,9 @@ def renderer_factory(info): lookup = PkgResourceTemplateLookup(directories=directories, module_directory=module_directory, input_encoding=input_encoding, + error_handler=error_handler, + default_filters=default_filters, + imports=imports, filesystem_checks=reload_templates) registry_lock.acquire() try: |
