Skip to content

Commit 477ecbc

Browse files
daliborpavlovicjspetrak
authored andcommitted
Edit tests and setup for Django 3.2, Python 3.7 and above, Postgres 10
1 parent 6e2e461 commit 477ecbc

File tree

6 files changed

+20
-93
lines changed

6 files changed

+20
-93
lines changed

.travis.yml

+8-43
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
language: python
2-
dist: trusty
2+
dist: bionic
33
sudo: false
44
addons:
5-
postgresql: 9.5
5+
postgresql: "10"
66
apt:
77
packages:
8-
- postgresql-9.5-postgis-2.3
8+
- postgresql-10-postgis-2.4
99
install: pip install tox coveralls
1010
script: tox -e $TOX_ENV
1111
after_success: coveralls
@@ -16,46 +16,11 @@ before_script:
1616
- psql -U postgres -d multigtfs -c "CREATE EXTENSION IF NOT EXISTS postgis; CREATE EXTENSION IF NOT EXISTS postgis_topology;"
1717
matrix:
1818
include:
19-
- env: TOX_ENV=py27-django18-postgis
20-
python: "2.7"
21-
- env: TOX_ENV=py34-django18-postgis
22-
python: "3.4"
23-
- env: TOX_ENV=py27-django19-postgis
24-
python: "2.7"
25-
- env: TOX_ENV=py35-django19-postgis
26-
python: "3.5"
27-
- env: TOX_ENV=py27-django110-postgis
28-
python: "2.7"
29-
- env: TOX_ENV=py35-django110-postgis
30-
python: "3.5"
31-
- env: TOX_ENV=py27-django111-postgis
32-
python: "2.7"
33-
- env: TOX_ENV=py36-django111-postgis
34-
python: "3.6"
35-
- env: TOX_ENV=py35-django20-postgis
36-
python: "3.5"
37-
- env: TOX_ENV=py36-django20-postgis
38-
python: "3.6"
39-
- env: TOX_ENV=py35-django21-postgis
40-
python: "3.5"
41-
- env: TOX_ENV=py36-django21-postgis
42-
python: "3.6"
43-
- env: TOX_ENV=py35-django22-postgis
44-
python: "3.5"
45-
- env: TOX_ENV=py37-django22-postgis
19+
- env: TOX_ENV=py37-django-32-postgis
4620
python: "3.7"
47-
sudo: required
48-
dist: xenial
49-
- env: TOX_ENV=py35-django-master-postgis
50-
python: "3.5"
51-
- env: TOX_ENV=py36-django-master-postgis
52-
python: "3.6"
53-
- env: TOX_ENV=py37-django-master-postgis
54-
python: "3.7"
55-
sudo: required
56-
dist: xenial
21+
- env: TOX_ENV=py38-django-32-postgis
22+
python: "3.8"
23+
- env: TOX_ENV=py39-django-32-postgis
24+
python: "3.9"
5725
allow_failures:
5826
# Django master is allowed to fail
59-
- env: TOX_ENV=py35-django-master-postgis
60-
- env: TOX_ENV=py36-django-master-postgis
61-
- env: TOX_ENV=py37-django-master-postgis

Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM python:3.6
1+
FROM python:3.7-buster
22
ENV PYTHONUNBUFFERED 1
33

44
RUN apt-get update
55
RUN apt-get install -y binutils libproj-dev gdal-bin postgresql-client
6-
RUN pip install "django>=2.2" "psycopg2"
6+
RUN pip install "django>=2.2,<4.0" "psycopg2"
77

88
RUN mkdir /code
99
RUN mkdir /feeds

multigtfs/compat.py

+2-12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"""
55
from codecs import BOM_UTF8
66
from distutils.version import LooseVersion
7+
from io import TextIOWrapper
78
from zipfile import ZipFile, ZIP_DEFLATED
89

910
from django import get_version
@@ -75,7 +76,6 @@ def opener_from_zipfile(zipfile):
7576

7677
def opener(filename):
7778
inner_file = zipfile.open(filename)
78-
from io import TextIOWrapper
7979
return TextIOWrapper(inner_file)
8080

8181
return opener
@@ -97,16 +97,6 @@ def write_text_rows(writer, rows):
9797
writer.writerow(new_row)
9898

9999

100-
# The GeoQuerySet is deprecated in Django 1.8
101-
# https://docs.djangoproject.com/en/dev/releases/1.9/#django-contrib-gis
102-
# The GeoManager is deprecated in Django 1.9
103-
# https://docs.djangoproject.com/en/dev/releases/1.9/#geomanager-and-geoqueryset-custom-methods
104-
# They are removed in Django 2.0
105-
# https://docs.djangoproject.com/en/dev/releases/2.0/#features-removed-in-2-0
106-
if DJ_VERSION >= LooseVersion('2.0'):
107-
from django.db.models import Manager, QuerySet
108-
else:
109-
from django.contrib.gis.db.models import GeoManager as Manager
110-
from django.contrib.gis.db.models.query import GeoQuerySet as QuerySet
100+
from django.db.models import Manager, QuerySet
111101
assert Manager
112102
assert QuerySet

requirements.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
Django>=2.2
2-
jsonfield==3.1.0
1+
Django>=3.2,<4.0

setup.py

+5-21
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,7 @@ def get_long_description():
5858
return long_description
5959

6060

61-
# Handle Py2/Py3 issue
62-
if sys.version_info > (3, 0):
63-
# In Py3, package data is dict w/ text key
64-
package_data = {'multigtfs': ['tests/fixtures/*.zip']}
65-
else:
66-
# In Py2, package data is dict w/ binary string
67-
package_data = {b'multigtfs': ['tests/fixtures/*.zip']}
61+
package_data = {'multigtfs': ['tests/fixtures/*.zip']}
6862

6963

7064
setup(
@@ -77,7 +71,7 @@ def get_long_description():
7771
license='Apache License 2.0',
7872
url='https://github.com/tulsawebdevs/django-multi-gtfs',
7973
packages=find_packages(),
80-
install_requires=['Django>=2.2', 'jsonfield>=0.9.20'],
74+
install_requires=['Django>=3.2,<4.0'],
8175
keywords=['django', 'gtfs'],
8276
test_suite="run_tests", # Ignored, but makes pyroma happy
8377
cmdclass={'test': my_test},
@@ -86,24 +80,14 @@ def get_long_description():
8680
"Development Status :: 5 - Production/Stable",
8781
"Environment :: Web Environment",
8882
"Framework :: Django",
89-
"Framework :: Django :: 1.8",
90-
"Framework :: Django :: 1.9",
91-
"Framework :: Django :: 1.10",
92-
"Framework :: Django :: 1.11",
93-
"Framework :: Django :: 2.0",
94-
"Framework :: Django :: 2.1",
95-
"Framework :: Django :: 2.2",
83+
"Framework :: Django :: 3.2",
9684
"Intended Audience :: Developers",
9785
"License :: OSI Approved :: Apache Software License",
9886
"Operating System :: OS Independent",
9987
"Programming Language :: Python",
100-
"Programming Language :: Python :: 2",
101-
"Programming Language :: Python :: 2.7",
102-
"Programming Language :: Python :: 3",
103-
"Programming Language :: Python :: 3.4",
104-
"Programming Language :: Python :: 3.5",
105-
"Programming Language :: Python :: 3.6",
10688
"Programming Language :: Python :: 3.7",
89+
"Programming Language :: Python :: 3.8",
90+
"Programming Language :: Python :: 3.9",
10791
"Topic :: Software Development :: Libraries :: Python Modules",
10892
],
10993
include_package_data=True,

tox.ini

+2-13
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
[tox]
22
envlist =
3-
py{27,34}-django18-{postgis,spatiallite}
4-
py{27,34,35}-django{19,110}-{postgis,spatiallite}
5-
py{27,34,35,36}-django111-{postgis,spatiallite}
6-
py{35,36}-django20-{postgis,spatiallite}
7-
py{35,36,37}-django{21,22,-master}-{postgis,spatiallite}
3+
py{37,38,39}-django{32,-master}-{postgis,spatiallite}
84

95
[flake8]
106
exclude = .tox/*,.build/*,.dist/*,build/*
@@ -14,17 +10,10 @@ passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
1410
setenv =
1511
postgis: MULTIGTFS_TEST_POSTGIS = 1
1612
deps=
17-
django18: Django>=1.8,<1.9
18-
django19: Django>=1.9,<1.10
19-
django110: Django>=1.10,<1.11
20-
django111: Django>=1.11,<2.0
21-
django20: Django>=2.0,<2.1
22-
django21: Django>=2.1,<2.2
23-
django22: Django>=2.2,<3.0
13+
django32: Django>=3.2,<4.0
2414
django-master: https://github.com/django/django/archive/master.tar.gz
2515
postgis: psycopg2
2616
nose
2717
django-nose
28-
jsonfield
2918
coveralls
3019
commands=coverage run --source multigtfs ./run_tests.py

0 commit comments

Comments
 (0)