Skip to content

Add support for Django Rest Framework 3.9 #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Apr 10, 2019
153 changes: 116 additions & 37 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,45 +1,124 @@
language: python

sudo: false

env:
- TOX_ENV=py27-flake8
- TOX_ENV=py27-docs
- TOX_ENV=py27-django1.8-drf3.1
- TOX_ENV=py27-django1.8-drf3.2
- TOX_ENV=py27-django1.8-drf3.3
- TOX_ENV=py27-django1.8-drf3.4
- TOX_ENV=py27-django1.8-drf3.5
- TOX_ENV=py27-django1.9-drf3.1
- TOX_ENV=py27-django1.9-drf3.2
- TOX_ENV=py27-django1.9-drf3.3
- TOX_ENV=py27-django1.9-drf3.4
- TOX_ENV=py27-django1.9-drf3.5
- TOX_ENV=py27-django1.10-drf3.4
- TOX_ENV=py27-django1.10-drf3.5
- TOX_ENV=py33-django1.8-drf3.1
- TOX_ENV=py33-django1.8-drf3.2
- TOX_ENV=py33-django1.8-drf3.3
- TOX_ENV=py33-django1.8-drf3.4
- TOX_ENV=py33-django1.8-drf3.5
- TOX_ENV=py34-django1.8-drf3.1
- TOX_ENV=py34-django1.8-drf3.2
- TOX_ENV=py34-django1.8-drf3.3
- TOX_ENV=py34-django1.8-drf3.4
- TOX_ENV=py34-django1.8-drf3.5
- TOX_ENV=py34-django1.9-drf3.1
- TOX_ENV=py34-django1.9-drf3.2
- TOX_ENV=py34-django1.9-drf3.3
- TOX_ENV=py34-django1.9-drf3.4
- TOX_ENV=py34-django1.9-drf3.5
- TOX_ENV=py34-django1.10-drf3.4
- TOX_ENV=py34-django1.10-drf3.5
dist: xenial

matrix:
fast_finish: true
include:
- { python: "2.7", env: TOXENV=lint}
- { python: "2.7", env: TOXENV=docs}

- { python: "2.7", env: DJANGO=1.8 DRF=3.1}
- { python: "2.7", env: DJANGO=1.8 DRF=3.2}
- { python: "2.7", env: DJANGO=1.8 DRF=3.3}
- { python: "2.7", env: DJANGO=1.8 DRF=3.4}
- { python: "2.7", env: DJANGO=1.8 DRF=3.5}
- { python: "2.7", env: DJANGO=1.8 DRF=3.6}

- { python: "2.7", env: DJANGO=1.9 DRF=3.1}
- { python: "2.7", env: DJANGO=1.9 DRF=3.2}
- { python: "2.7", env: DJANGO=1.9 DRF=3.3}
- { python: "2.7", env: DJANGO=1.9 DRF=3.4}
- { python: "2.7", env: DJANGO=1.9 DRF=3.5}
- { python: "2.7", env: DJANGO=1.9 DRF=3.6}

- { python: "2.7", env: DJANGO=1.10 DRF=3.4}
- { python: "2.7", env: DJANGO=1.10 DRF=3.5}
- { python: "2.7", env: DJANGO=1.10 DRF=3.6}
- { python: "2.7", env: DJANGO=1.10 DRF=3.7}
- { python: "2.7", env: DJANGO=1.10 DRF=3.8}

- { python: "2.7", env: DJANGO=1.11 DRF=3.4}
- { python: "2.7", env: DJANGO=1.11 DRF=3.5}
- { python: "2.7", env: DJANGO=1.11 DRF=3.6}
- { python: "2.7", env: DJANGO=1.11 DRF=3.7}
- { python: "2.7", env: DJANGO=1.11 DRF=3.8}
- { python: "2.7", env: DJANGO=1.11 DRF=3.9}

- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.1}
- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.2}
- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.3}
- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.4}
- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.5}
- { dist: trusty, python: "3.3", env: DJANGO=1.8 DRF=3.6}

- { python: "3.4", env: DJANGO=1.8 DRF=3.1}
- { python: "3.4", env: DJANGO=1.8 DRF=3.2}
- { python: "3.4", env: DJANGO=1.8 DRF=3.3}
- { python: "3.4", env: DJANGO=1.8 DRF=3.4}
- { python: "3.4", env: DJANGO=1.8 DRF=3.5}
- { python: "3.4", env: DJANGO=1.8 DRF=3.6}

- { python: "3.4", env: DJANGO=1.9 DRF=3.1}
- { python: "3.4", env: DJANGO=1.9 DRF=3.2}
- { python: "3.4", env: DJANGO=1.9 DRF=3.3}
- { python: "3.4", env: DJANGO=1.9 DRF=3.4}
- { python: "3.4", env: DJANGO=1.9 DRF=3.5}
- { python: "3.4", env: DJANGO=1.9 DRF=3.6}

- { python: "3.4", env: DJANGO=1.10 DRF=3.4}
- { python: "3.4", env: DJANGO=1.10 DRF=3.5}
- { python: "3.4", env: DJANGO=1.10 DRF=3.6}
- { python: "3.4", env: DJANGO=1.10 DRF=3.7}
- { python: "3.4", env: DJANGO=1.10 DRF=3.8}

- { python: "3.4", env: DJANGO=1.11 DRF=3.4}
- { python: "3.4", env: DJANGO=1.11 DRF=3.5}
- { python: "3.4", env: DJANGO=1.11 DRF=3.6}
- { python: "3.4", env: DJANGO=1.11 DRF=3.7}
- { python: "3.4", env: DJANGO=1.11 DRF=3.8}
- { python: "3.4", env: DJANGO=1.11 DRF=3.9}

- { python: "3.4", env: DJANGO=2.0 DRF=3.7}
- { python: "3.4", env: DJANGO=2.0 DRF=3.8}
- { python: "3.4", env: DJANGO=2.0 DRF=3.9}

- { python: "3.5", env: DJANGO=1.11 DRF=3.4}
- { python: "3.5", env: DJANGO=1.11 DRF=3.5}
- { python: "3.5", env: DJANGO=1.11 DRF=3.6}
- { python: "3.5", env: DJANGO=1.11 DRF=3.7}
- { python: "3.5", env: DJANGO=1.11 DRF=3.8}
- { python: "3.5", env: DJANGO=1.11 DRF=3.9}

- { python: "3.5", env: DJANGO=2.0 DRF=3.7}
- { python: "3.5", env: DJANGO=2.0 DRF=3.8}
- { python: "3.5", env: DJANGO=2.0 DRF=3.9}

- { python: "3.5", env: DJANGO=2.1 DRF=3.7}
- { python: "3.5", env: DJANGO=2.1 DRF=3.8}
- { python: "3.5", env: DJANGO=2.1 DRF=3.9}

- { python: "3.6", env: DJANGO=1.11 DRF=3.4}
- { python: "3.6", env: DJANGO=1.11 DRF=3.5}
- { python: "3.6", env: DJANGO=1.11 DRF=3.6}
- { python: "3.6", env: DJANGO=1.11 DRF=3.7}
- { python: "3.6", env: DJANGO=1.11 DRF=3.8}
- { python: "3.6", env: DJANGO=1.11 DRF=3.9}

- { python: "3.6", env: DJANGO=2.0 DRF=3.7}
- { python: "3.6", env: DJANGO=2.0 DRF=3.8}
- { python: "3.6", env: DJANGO=2.0 DRF=3.9}

- { python: "3.6", env: DJANGO=2.1 DRF=3.7}
- { python: "3.6", env: DJANGO=2.1 DRF=3.8}
- { python: "3.6", env: DJANGO=2.1 DRF=3.9}

- { python: "3.7", env: DJANGO=1.11 DRF=3.4}
- { python: "3.7", env: DJANGO=1.11 DRF=3.5}
- { python: "3.7", env: DJANGO=1.11 DRF=3.6}
- { python: "3.7", env: DJANGO=1.11 DRF=3.7}
- { python: "3.7", env: DJANGO=1.11 DRF=3.8}
- { python: "3.7", env: DJANGO=1.11 DRF=3.9}

- { python: "3.7", env: DJANGO=2.0 DRF=3.7}
- { python: "3.7", env: DJANGO=2.0 DRF=3.8}
- { python: "3.7", env: DJANGO=2.0 DRF=3.9}

- { python: "3.7", env: DJANGO=2.1 DRF=3.7}
- { python: "3.7", env: DJANGO=2.1 DRF=3.8}
- { python: "3.7", env: DJANGO=2.1 DRF=3.9}

install:
- pip install tox
- pip install "tox<3" tox-travis tox-venv

script:
- tox -e $TOX_ENV
- tox
6 changes: 3 additions & 3 deletions proxy_pagination/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ class ProxyPagination(BasePagination):
default_pager = import_from_string(settings.PROXY_PAGINATION_DEFAULT,
'PROXY_PAGINATION_DEFAULT')
pager_query_param = settings.PROXY_PAGINATION_PARAM or 'pager'
mapping = {alias: import_from_string(path, 'PROXY_PAGINATION_MAPPING')
for alias, path in settings.PROXY_PAGINATION_MAPPING.items()}
pager_mapping = {alias: import_from_string(path, 'PROXY_PAGINATION_MAPPING')
for alias, path in settings.PROXY_PAGINATION_MAPPING.items()}

@property
def display_page_controls(self):
Expand All @@ -37,7 +37,7 @@ def __init__(self):

def paginate_queryset(self, queryset, request, view=None):
alias = request.query_params.get(self.pager_query_param)
self.pager = self.mapping.get(alias, self.default_pager)()
self.pager = self.pager_mapping.get(alias, self.default_pager)()
return self.pager.paginate_queryset(queryset, request, view=view)

def get_paginated_response(self, data):
Expand Down
44 changes: 38 additions & 6 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
[tox]
envlist =
py27-{flake8,docs},
{py27,py33,py34}-django1.8-drf{3.1,3.2,3.3,3.4,3.5},
{py27,py34}-django1.9-drf{3.1,3.2,3.3,3.4,3.5}
{py27,py34}-django1.10-drf{3.4,3.5}
lint,docs,
{py27,py33,py34}-django1.8-drf{3.1,3.2,3.3,3.4,3.5,3.6},
{py27,py34}-django1.9-drf{3.1,3.2,3.3,3.4,3.5,3.6}
{py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8}
{py27,py34,py35,py36,py37}-django1.11-drf{3.4,3.5,3.6,3.7,3.8,3.9}
{py34,py35,py36,py37}-django2.0-drf{3.7,3.8,3.9}
{py35,py36,py37}-django2.1-drf{3.7,3.8,3.9}

[travis:env]
DJANGO =
1.8: django1.8
1.9: django1.9
1.10: django1.10
1.11: django1.11
2.0: django2.0

DRF =
3.1: drf3.1
3.2: drf3.2
3.3: drf3.3
3.4: drf3.4
3.5: drf3.5
3.6: drf3.6
3.7: drf3.7
3.8: drf3.8
3.9: drf3.9

[testenv]
commands = ./runtests.py --fast
Expand All @@ -13,20 +35,30 @@ deps =
django1.8: Django==1.8.15
django1.9: Django==1.9.10
django1.10: Django==1.10.2
django1.11: Django==1.11.20
django2.0: Django==2.0.13
django2.1: Django==2.1.7
drf3.1: djangorestframework==3.1.3
drf3.2: djangorestframework==3.2.5
drf3.3: djangorestframework==3.3.3
drf3.4: djangorestframework==3.4.7
drf3.5: djangorestframework==3.5.1
drf3.6: djangorestframework==3.6.4
drf3.7: djangorestframework==3.7.7
drf3.8: djangorestframework==3.8.2
drf3.9: djangorestframework==3.9.2
pytest-django==3.0.0
pytest<4.0.0

[testenv:py27-flake8]
[testenv:lint]
basepython = python2.7
commands = ./runtests.py --lintonly
deps =
pytest==3.0.0
flake8==2.4.0

[testenv:py27-docs]
[testenv:docs]
basepython = python2.7
commands = mkdocs build
deps =
mkdocs>=0.11.1