No, I tried this... It does nothing but adding one more filter
'__all__' to the filters' list. The __dict__ of an imported module
containes all the definitions, imported modules, etc.
Le 29/09/2012 15:14, Alessandro Molina a écrit :
I'm not actually sure, but shouldn't defining __all__ inside your
jinja_filter.py solve the issue?
On Sat, Sep 29, 2012 at 12:09 PM, Remi Jolin<[email protected]> wrote:
Hello,
I want to add a custom filter to jinja2 and I found that there is a way to
do that through adding a .lib.templatetools.jinja_filters.py module, so I
tryed it...
Every function defined in this module become a filter. But not only
functions :-(, everything imported in this module is included in the
filter's dict !
I'm not sure this was the expected behavior.
Could not it be a .lib.templatetools.py that would contain functions and a
dict named jinja_filters that would contain the filters like in the config
file ? jinja_filters = dict(filter_name=filter_fct, ...) ?
The only change in tg.configuration.app_config.py
change :
# Try to load custom filters module under
app_package.lib.templatetools
try:
filter_package = self.package.__name__ + ".lib.templatetools"
autoload_lib = __import__(filter_package, {}, {},
['jinja_filters'])
autoload_filters = autoload_lib.jinja_filters.__dict__
except (ImportError, AttributeError):
autoload_filters = {}
by :
# Try to load custom filters module under
app_package.lib.templatetools
try:
filter_package = self.package.__name__ + ".lib.templatetools"
autoload_lib = __import__(filter_package, {}, {},
['jinja_filters'])
autoload_filters = autoload_lib.jinja_filters
# suppress the .__dict__
except (ImportError, AttributeError):
autoload_filters = {}
or
# Try to load custom filters module under
app_package.lib.templatetools
try:
filter_package = self.package.__name__ + ".lib.templatetools"
autoload_lib = __import__(filter_package, {}, {},
['jinja_filters'])
try:
autoload_filters = autoload_lib.jinja_filters.__dict__
except AttributeError:
autoload_filters = autoload_lib.jinja_filters
except (ImportError, AttributeError):
autoload_filters = {}
to support both...
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en.