mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Introduces `aurweb.defaults` and `aurweb.filters`. `aurweb.filters` is a location developers can put their additional Jinja2 filters and/or functions. We should slowly move all of our filters over here, where it makes sense. `aurweb.defaults` is a new module which hosts some default constants and utility functions, starting with offsets (O) and per page values (PP). As far as the new GET /requests is concerned, we match up here to PHP's implementation, with some minor improvements: Improvements: * PP on this page is now configurable: 50 (default), 100, or 250. * Example: `https://localhost:8444/requests?PP=250` Modifications: * The pagination is a bit different, but serves the exact same purpose. * "Last" no longer goes to an empty page. * Closes: https://gitlab.archlinux.org/archlinux/aurweb/-/issues/14 Signed-off-by: Kevin Morris <kevr@0cost.org>
18 lines
402 B
Python
18 lines
402 B
Python
""" Constant default values centralized in one place. """
|
|
|
|
# Default [O]ffset
|
|
O = 0
|
|
|
|
# Default [P]er [P]age
|
|
PP = 50
|
|
|
|
# A whitelist of valid PP values
|
|
PP_WHITELIST = {50, 100, 250}
|
|
|
|
|
|
def fallback_pp(per_page: int) -> int:
|
|
""" If `per_page` is a valid value in PP_WHITELIST, return it.
|
|
Otherwise, return defaults.PP. """
|
|
if per_page not in PP_WHITELIST:
|
|
return PP
|
|
return per_page
|