Falcon pagination helper
Project description
A small falcon hook to parse pagination elements from the request.
For now it parses an Offset based pagination.
Usage
The easiest way to use this hook is the following:
@falcon.before(PaginationFromRequestHook())
def on_get(self, req, resp, user):
# Here req['context']['pagination'] is set
# with 2 keys: 'offset' and 'limit'
The Hook will look in the query parameters for 2 keys:
offset: The pagination offset
limit: The pagination limit
It will create a pagination dict into the request context accessible at req.context['pagination']
.
This pagination dict will contain 2 values:
offset: The offset from the request or 0 if it doesn’t exists
limit: The limit to apply. If no limit is found the default one is applied (20). If the value is bigger than the max value (100) then the default limit is also applied.
Configuration options
A few parameters can be passed to the hook:
default_limit : The limit to apply if none is found in the request query or if the limit is out of bound. Default to 20
max_limit: Maximum allowed limit. Default to 100
offset_key: Name of the request parameter holding the offset value. Default to ‘offset’
limit_key: Name of the request parameter holding the limit value. Default to ‘limit’
Here’s an example setting a default limit to 10, a maximum limit to 500 the offset key to ‘page_offset’ and the limit key to ‘result_limit’:
@falcon.before(PaginationFromRequestHook(
default_limit=10,
max_limit=500,
offset_key='page_offset',
limit_key='result_limit'
))
def on_get(self, req, resp, user):
# Get request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file falcon_pagination-0.0.1.tar.gz
.
File metadata
- Download URL: falcon_pagination-0.0.1.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e20f63306edb6947886fcfbc8afd15958783d6e0a206013283eabf8a2103a528 |
|
MD5 | 90214439f977842c6a53e88c4c6f57e7 |
|
BLAKE2b-256 | 8bf35a5b1f23ff43ade0c59b83bc19fc8f59e5cdadbb32a86d2f6800717740a9 |
File details
Details for the file falcon_pagination-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: falcon_pagination-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29b3e58e4f43af02f909d6ec8b0efa78d028c2749b515ddf8980fb4b9de0c4de |
|
MD5 | 624c214ff27dc6f8a003fd9f8ece9db2 |
|
BLAKE2b-256 | fce82ca2604ac773b09938c3f04a63eea9ddb9b68433c3dcd7f267855982d5d3 |