Skip to content

Commit 33128a6

Browse files
authored
Merge pull request #106 from asherf/more-versions
Add support for more newer python & Django versions, run tests under supported versions.
2 parents 19df4f2 + c36d988 commit 33128a6

File tree

9 files changed

+30
-42
lines changed

9 files changed

+30
-42
lines changed

.travis.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1+
dist: xenial
12
language: python
23
python:
4+
- "3.5"
35
- "3.6"
6+
- "3.7"
47
- "2.7"
58
env:
6-
- DJANGO_VERSION=2.0
9+
- DJANGO_VERSION=2.1
10+
- DJANGO_VERSION=2.2
711
- DJANGO_VERSION=1.11
8-
- DJANGO_VERSION=1.8
912
services:
1013
- memcached
1114
- redis
@@ -14,7 +17,13 @@ services:
1417
matrix:
1518
exclude:
1619
- python: "2.7"
17-
env: DJANGO_VERSION=2.0
20+
env: DJANGO_VERSION=2.1
21+
- python: "2.7"
22+
env: DJANGO_VERSION=2.2
23+
- python: "3.7"
24+
env: DJANGO_VERSION=1.11
25+
- python: "3.6"
26+
env: DJANGO_VERSION=1.11
1827

1928
install:
2029
- pip install -r requirements.txt

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Export Django monitoring metrics for Prometheus.io
1010

1111
### Requirements
1212

13-
* Django >= 1.8
13+
* Django >= 1.11
1414

1515
### Installation
1616

django_prometheus/db/backends/postgresql/base.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@
66
)
77

88
import psycopg2.extensions
9-
10-
if django.VERSION >= (1, 9):
11-
from django.db.backends.postgresql import base
12-
else:
13-
from django.db.backends.postgresql_psycopg2 import base
9+
from django.db.backends.postgresql import base
1410

1511

1612
class DatabaseFeatures(base.DatabaseFeatures):
@@ -31,7 +27,4 @@ def get_connection_params(self):
3127
def create_cursor(self, name=None):
3228
# cursor_factory is a kwarg to connect() so restore create_cursor()'s
3329
# default behavior
34-
if django.VERSION >= (1, 11, 0):
35-
return base.DatabaseWrapper.create_cursor(self, name=name)
36-
else:
37-
return base.DatabaseWrapper.create_cursor(self)
30+
return base.DatabaseWrapper.create_cursor(self, name=name)

django_prometheus/middleware.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import django
2+
from django.utils.deprecation import MiddlewareMixin
23
from prometheus_client import Counter, Histogram
34

45
from django_prometheus.utils import Time, TimeSince, PowersOf
56

6-
if django.VERSION >= (1, 10, 0):
7-
from django.utils.deprecation import MiddlewareMixin
8-
else:
9-
MiddlewareMixin = object
107

118
requests_total = Counter(
129
'django_http_requests_before_middlewares_total',

django_prometheus/tests/end2end/testapp/settings.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,21 @@
5353

5454

5555
def GetMiddlewareClasses():
56-
classes = ['django_prometheus.middleware.PrometheusBeforeMiddleware']
57-
classes.extend([
56+
classes = [
57+
'django_prometheus.middleware.PrometheusBeforeMiddleware',
5858
'django.contrib.sessions.middleware.SessionMiddleware',
5959
'django.middleware.common.CommonMiddleware',
6060
'django.middleware.csrf.CsrfViewMiddleware',
61-
'django.contrib.auth.middleware.AuthenticationMiddleware'])
62-
if django.VERSION < (1, 10):
63-
classes.append(
64-
'django.contrib.auth.middleware.SessionAuthenticationMiddleware')
65-
classes.extend([
61+
'django.contrib.auth.middleware.AuthenticationMiddleware',
6662
'django.contrib.messages.middleware.MessageMiddleware',
67-
'django.middleware.clickjacking.XFrameOptionsMiddleware'])
68-
classes.append('django.middleware.security.SecurityMiddleware')
69-
classes.append('django_prometheus.middleware.PrometheusAfterMiddleware')
63+
'django.middleware.clickjacking.XFrameOptionsMiddleware',
64+
'django.middleware.security.SecurityMiddleware',
65+
'django_prometheus.middleware.PrometheusAfterMiddleware',
66+
]
7067
return classes
7168

7269

73-
# For Django 1.x
74-
MIDDLEWARE_CLASSES = GetMiddlewareClasses()
75-
# For Django 2.x
76-
MIDDLEWARE = MIDDLEWARE_CLASSES
70+
MIDDLEWARE = GetMiddlewareClasses()
7771

7872
ROOT_URLCONF = 'testapp.urls'
7973

django_prometheus/tests/end2end/testapp/urls.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44

55
from testapp import views
66

7-
if django.VERSION >= (1, 9, 0):
8-
admin_urls = admin.site.urls
9-
else:
10-
admin_urls = include(admin.site.urls)
117

128
urlpatterns = [
139
url(r'^$', views.index),
@@ -18,5 +14,5 @@
1814
url(r'^newlawn/(?P<location>[a-zA-Z0-9 ]+)$', views.newlawn),
1915
url(r'^file$', views.file),
2016
url('', include('django_prometheus.urls')),
21-
url(r'^admin/', admin_urls),
17+
url(r'^admin/', admin.site.urls),
2218
]

django_prometheus/urls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from django.conf.urls import url
2-
32
from django_prometheus import exports
43

54
urlpatterns = [

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Django>=1.8
1+
Django>=1.11
22
django-redis>=4.8
33
pep8>=1.6.2
44
prometheus-client>=0.7
5-
pip-prometheus>=1.1.0
5+
pip-prometheus>=1.2.1
66
mock>=1.0.1
77
mysqlclient<1.4
88
psycopg2

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@
3333
"Programming Language :: Python :: 2",
3434
"Programming Language :: Python :: 2.7",
3535
"Programming Language :: Python :: 3",
36-
"Programming Language :: Python :: 3.3",
37-
"Programming Language :: Python :: 3.4",
3836
"Programming Language :: Python :: 3.5",
3937
"Programming Language :: Python :: 3.6",
4038
"Programming Language :: Python :: 3.7",
41-
"Framework :: Django",
39+
"Framework :: Django :: 1.11",
40+
"Framework :: Django :: 2.1",
41+
"Framework :: Django :: 2.2",
4242
"Topic :: System :: Monitoring",
4343
"License :: OSI Approved :: Apache Software License",
4444
],

0 commit comments

Comments
 (0)