Load your Custom FiltersΒΆ

The Flask-Imagine allows you to load your own custom filter classes. The only requirement is that each filter loader implements the following interface:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 from flask.ext.imagine.filters.interface import ImagineFilterInterface

 class MyCustomFilter(ImagineFilterInterface):
     configuration_parameter = None

     def __init__(self, configuration_parameter, **kwargs):
         self.configuration_parameter = configuration_parameter

     def apply(self, resource):
         # Some adjustments

         return resource

You can now reference and use your custom filter when defining filter sets you’d like to apply in your configuration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 app.config['IMAGINE_FILTERS'] = {
     'my_custom_filter': MyCustomFilter
 }

 app.config['IMAGINE_FILTER_SETS'] = {
     'filter_set_name': {
         'filters': {
             'my_custom_filter': {'configuration_parameter': 'configuration_parameter_value'}
         }
     }
 }