Skip to content

Commit 3ac5d7b

Browse files
committed
Merge pull request #172 from bradford281/django18
update imports for Django 1.8; fixes "django 18 deprecation warnings
2 parents d14e5ef + 3d56042 commit 3ac5d7b

File tree

5 files changed

+34
-11
lines changed

5 files changed

+34
-11
lines changed

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Authors
22
=======
33

44
- Aleksey Kladov
5+
- bradford281
56
- Brian Dixon
67
- Corey Bertram
78
- Damien Nozay

simple_history/admin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,21 @@
77
from django.contrib.contenttypes.models import ContentType
88
from django.core.urlresolvers import reverse
99
from django.shortcuts import get_object_or_404, render
10-
from django.contrib.admin.util import unquote
1110
from django.utils.text import capfirst
1211
from django.utils.html import mark_safe
1312
from django.utils.translation import ugettext as _
1413
from django.utils.encoding import force_text
1514
from django.conf import settings
1615

16+
try:
17+
from django.contrib.admin.utils import unquote
18+
except ImportError: # Django < 1.7
19+
from django.contrib.admin.util import unquote
1720
try:
1821
USER_NATURAL_KEY = settings.AUTH_USER_MODEL
1922
except AttributeError: # Django < 1.5
2023
USER_NATURAL_KEY = "auth.User"
24+
2125
USER_NATURAL_KEY = tuple(key.lower() for key in USER_NATURAL_KEY.split('.', 1))
2226

2327

simple_history/management/commands/populate_history.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
from optparse import make_option
2+
23
from django.core.management.base import BaseCommand, CommandError
3-
from django.db.models.loading import get_model
4+
5+
try:
6+
from django.apps import apps
7+
except ImportError: # Django < 1.7
8+
from django.db.models.loading import get_model
9+
else:
10+
get_model = apps.get_model
411

512
from ... import models
613
from . import _populate_utils as utils

simple_history/models.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,27 @@
66

77
import django
88
from django.db import models, router
9-
from django.db.models import loading
109
from django.db.models.fields.proxy import OrderWrt
1110
from django.db.models.fields.related import RelatedField
1211
from django.conf import settings
1312
from django.contrib import admin
14-
from django.utils import importlib, six
13+
from django.utils import six
1514
from django.utils.encoding import python_2_unicode_compatible
1615
from django.utils.encoding import smart_text
1716
from django.utils.timezone import now
1817
from django.utils.translation import string_concat
1918

20-
from .manager import HistoryDescriptor
21-
19+
try:
20+
import importlib
21+
except ImportError:
22+
from django.utils import importlib
2223
try:
2324
from django.apps import apps
2425
except ImportError: # Django < 1.7
26+
from django.db.models.loading import get_app
2527
apps = None
28+
else:
29+
get_app = apps.get_app
2630
try:
2731
from south.modelsinspector import add_introspection_rules
2832
except ImportError: # south not present
@@ -31,6 +35,8 @@
3135
add_introspection_rules(
3236
[], ["^simple_history.models.CustomForeignKeyField"])
3337

38+
from .manager import HistoryDescriptor
39+
3440
registered_models = {}
3541

3642

@@ -99,7 +105,7 @@ def create_history_model(self, model):
99105
elif app_module != self.module:
100106
if apps is None: # Django < 1.7
101107
# has meta options with app_label
102-
app = loading.get_app(model._meta.app_label)
108+
app = get_app(model._meta.app_label)
103109
attrs['__module__'] = app.__name__ # full dotted name
104110
else:
105111
# Abuse an internal API because the app registry is loading.

simple_history/tests/tests/test_admin.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
from datetime import datetime, timedelta
2+
23
from django_webtest import WebTest
34
from django.test.utils import override_settings
45
from django import VERSION
56
from django.core.urlresolvers import reverse
7+
from django.conf import settings
8+
69
try:
710
from django.contrib.auth import get_user_model
811
User = get_user_model()
9-
except ImportError: # django 1.4 compatibility
12+
except ImportError: # Django < 1.5
1013
from django.contrib.auth.models import User
11-
from django.contrib.admin.util import quote
12-
from django.conf import settings
13-
from simple_history.models import HistoricalRecords
14+
try:
15+
from django.contrib.admin.utils import quote
16+
except ImportError: # Django < 1.7
17+
from django.contrib.admin.util import quote
1418

19+
from simple_history.models import HistoricalRecords
1520
from ..models import Book, Person, Poll, State, Employee
1621

1722

0 commit comments

Comments
 (0)