diff options
| author | Tom Christie | 2015-01-22 14:04:25 +0000 | 
|---|---|---|
| committer | Tom Christie | 2015-01-22 14:04:25 +0000 | 
| commit | 38a2ed6f62adcdcb2eba94f6133d4dd976a53af1 (patch) | |
| tree | 0be9689a587d3f045da1f6f7e068c9ec3719acf9 | |
| parent | ca372ef6ef1cf95eb9282a484782e1a3721cb72b (diff) | |
| download | django-rest-framework-38a2ed6f62adcdcb2eba94f6133d4dd976a53af1.tar.bz2 | |
Python 3 fixes for cursor pagination
| -rw-r--r-- | rest_framework/pagination.py | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index 0c5abccb..cf1f1afa 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -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): | 
