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.

