Commit 38a2ed6f by Tom Christie

Python 3 fixes for cursor pagination

parent ca372ef6
......@@ -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):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment