bottle-smart-filters: Bottle Querystring smart guessing
Provides a bottle.py plugin for querystring parameters smart guessing.
- Provides default type casting for integers, floats, booleans (of course strings).
- Supports JSON params (i.e Elastic Search URL's like GET /?q={"id": 34, "age": 39})
- Provides a mechanism for multiple value params through separators.
- Smart filter callback is attached to bottle.Bottle.request.query instance, so it doesn't mess your implementation.
- Useful Pre-processor for any validation library or custom implementation.
Note
This is NOT A Querystring validation library!
Example Usage
import bottle
from bottle.ext.smart_filters import SmartFiltersPlugin
bottle.install(SmartFiltersPlugin())
@bottle.get('/')
def index():
return {'smart_filters': bottle.request.query.smart_filters()}
bottle.run()
Example URL's:
- GET /?id=12434&membership=true&score=9.4&[email protected] * Smart Filter output: {"id": 12343, "member": True, "score": 9.4, "email": "[email protected]"} - GET /?numbers=1,2, 3,4,&gps={"lat": 33.093, "lng": "23.090"} * Smart Filter output: {"number": [1, 2, 3, 4, 5], "gps": {"lat": 33.093, "lng": "23.090"}}