Move strict_positive_int to pagination module

This commit is contained in:
David Medina 2013-10-10 11:14:46 +02:00
parent 0bbc775b95
commit a500b83ff2
2 changed files with 13 additions and 11 deletions

View File

@ -11,20 +11,10 @@ from django.utils.translation import ugettext as _
from rest_framework import views, mixins, exceptions
from rest_framework.request import clone_request
from rest_framework.settings import api_settings
from rest_framework.pagination import strict_positive_int
import warnings
def strict_positive_int(integer_string, cutoff=None):
"""
Cast a string to a strictly positive integer.
"""
ret = int(integer_string)
if ret <= 0:
raise ValueError()
if cutoff:
ret = min(ret, cutoff)
return ret
def get_object_or_404(queryset, *filter_args, **filter_kwargs):
"""
Same as Django's standard shortcut, but make sure to raise 404

View File

@ -7,6 +7,18 @@ from rest_framework import serializers
from rest_framework.templatetags.rest_framework import replace_query_param
def strict_positive_int(integer_string, cutoff=None):
"""
Cast a string to a strictly positive integer.
"""
ret = int(integer_string)
if ret <= 0:
raise ValueError()
if cutoff:
ret = min(ret, cutoff)
return ret
class NextPageField(serializers.Field):
"""
Field that returns a link to the next page in paginated results.