mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-26 03:23:59 +03:00
Python 3 fixes for cursor pagination
This commit is contained in:
parent
ca372ef6ef
commit
38a2ed6f62
|
@ -389,7 +389,8 @@ Cursor = namedtuple('Cursor', ['offset', 'reverse', 'position'])
|
|||
|
||||
def decode_cursor(encoded):
|
||||
try:
|
||||
tokens = urlparse.parse_qs(b64decode(encoded).decode('ascii'), keep_blank_values=True)
|
||||
querystring = b64decode(encoded.encode('ascii')).decode('ascii')
|
||||
tokens = urlparse.parse_qs(querystring, keep_blank_values=True)
|
||||
offset = int(tokens['offset'][0])
|
||||
reverse = bool(int(tokens['reverse'][0]))
|
||||
position = tokens['position'][0]
|
||||
|
@ -405,7 +406,8 @@ def encode_cursor(cursor):
|
|||
'reverse': '1' if cursor.reverse else '0',
|
||||
'position': cursor.position
|
||||
}
|
||||
return b64encode(urlparse.urlencode(tokens, doseq=True).encode('ascii'))
|
||||
querystring = urlparse.urlencode(tokens, doseq=True)
|
||||
return b64encode(querystring.encode('ascii')).decode('ascii')
|
||||
|
||||
|
||||
class CursorPagination(BasePagination):
|
||||
|
|
Loading…
Reference in New Issue
Block a user