diff --git a/setup.py b/setup.py index fed4dfe..21c12c6 100644 --- a/setup.py +++ b/setup.py @@ -15,8 +15,6 @@ setup( ], zip_safe=False, classifiers=[ - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', diff --git a/src/auditlog/__init__.py b/src/auditlog/__init__.py index 64e9e4a..7130ac4 100644 --- a/src/auditlog/__init__.py +++ b/src/auditlog/__init__.py @@ -1,3 +1 @@ -from __future__ import unicode_literals - default_app_config = 'auditlog.apps.AuditlogConfig' diff --git a/src/auditlog/apps.py b/src/auditlog/apps.py index 9704ed9..d7629f0 100644 --- a/src/auditlog/apps.py +++ b/src/auditlog/apps.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/src/auditlog/diff.py b/src/auditlog/diff.py index 9f996f6..e5c6221 100644 --- a/src/auditlog/diff.py +++ b/src/auditlog/diff.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.db.models import Model, NOT_PROVIDED, DateTimeField diff --git a/src/auditlog/management/commands/auditlogflush.py b/src/auditlog/management/commands/auditlogflush.py index 575fd39..155ba96 100644 --- a/src/auditlog/management/commands/auditlogflush.py +++ b/src/auditlog/management/commands/auditlogflush.py @@ -1,5 +1,4 @@ from django.core.management.base import BaseCommand -from six import moves from auditlog.models import LogEntry @@ -11,7 +10,7 @@ class Command(BaseCommand): answer = None while answer not in ['', 'y', 'n']: - answer = moves.input("Are you sure? [y/N]: ").lower().strip() + answer = input("Are you sure? [y/N]: ").lower().strip() if answer == 'y': count = LogEntry.objects.all().count() diff --git a/src/auditlog/middleware.py b/src/auditlog/middleware.py index b983789..6e9a948 100644 --- a/src/auditlog/middleware.py +++ b/src/auditlog/middleware.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - import contextlib from auditlog.compat import is_authenticated diff --git a/src/auditlog/migrations/0001_initial.py b/src/auditlog/migrations/0001_initial.py index 5a96248..f7346ec 100644 --- a/src/auditlog/migrations/0001_initial.py +++ b/src/auditlog/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations import django.db.models.deletion from django.conf import settings diff --git a/src/auditlog/migrations/0002_auto_support_long_primary_keys.py b/src/auditlog/migrations/0002_auto_support_long_primary_keys.py index 5ea87f6..42f8620 100644 --- a/src/auditlog/migrations/0002_auto_support_long_primary_keys.py +++ b/src/auditlog/migrations/0002_auto_support_long_primary_keys.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/src/auditlog/migrations/0003_logentry_remote_addr.py b/src/auditlog/migrations/0003_logentry_remote_addr.py index 948f63c..f12a030 100644 --- a/src/auditlog/migrations/0003_logentry_remote_addr.py +++ b/src/auditlog/migrations/0003_logentry_remote_addr.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/src/auditlog/migrations/0004_logentry_detailed_object_repr.py b/src/auditlog/migrations/0004_logentry_detailed_object_repr.py index 2b9af2c..9b546b1 100644 --- a/src/auditlog/migrations/0004_logentry_detailed_object_repr.py +++ b/src/auditlog/migrations/0004_logentry_detailed_object_repr.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations +from django.db import migrations import jsonfield.fields diff --git a/src/auditlog/migrations/0005_logentry_additional_data_verbose_name.py b/src/auditlog/migrations/0005_logentry_additional_data_verbose_name.py index 7837a7c..9d90c3d 100644 --- a/src/auditlog/migrations/0005_logentry_additional_data_verbose_name.py +++ b/src/auditlog/migrations/0005_logentry_additional_data_verbose_name.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import migrations, models +from django.db import migrations import jsonfield.fields diff --git a/src/auditlog/migrations/0006_object_pk_index.py b/src/auditlog/migrations/0006_object_pk_index.py index 273e6bd..21dc7d0 100644 --- a/src/auditlog/migrations/0006_object_pk_index.py +++ b/src/auditlog/migrations/0006_object_pk_index.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/src/auditlog/migrations/0007_object_pk_type.py b/src/auditlog/migrations/0007_object_pk_type.py index 3a724e8..ee7924f 100644 --- a/src/auditlog/migrations/0007_object_pk_type.py +++ b/src/auditlog/migrations/0007_object_pk_type.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/src/auditlog/migrations/0008_timestamp_index.py b/src/auditlog/migrations/0008_timestamp_index.py index 4f93dd7..d79eab8 100644 --- a/src/auditlog/migrations/0008_timestamp_index.py +++ b/src/auditlog/migrations/0008_timestamp_index.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/src/auditlog/models.py b/src/auditlog/models.py index 8c64d45..c328888 100644 --- a/src/auditlog/models.py +++ b/src/auditlog/models.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - import json import ast @@ -11,7 +9,6 @@ from django.db import models, DEFAULT_DB_ALIAS from django.db.models import QuerySet, Q from django.utils import formats, timezone from django.utils.encoding import python_2_unicode_compatible, smart_text -from django.utils.six import iteritems, integer_types from django.utils.translation import ugettext_lazy as _ from jsonfield.fields import JSONField @@ -43,7 +40,7 @@ class LogEntryManager(models.Manager): kwargs.setdefault('object_pk', pk) kwargs.setdefault('object_repr', smart_text(instance)) - if isinstance(pk, integer_types): + if isinstance(pk, int): kwargs.setdefault('object_id', pk) get_additional_data = getattr(instance, 'get_additional_data', None) @@ -78,7 +75,7 @@ class LogEntryManager(models.Manager): content_type = ContentType.objects.get_for_model(instance.__class__) pk = self._get_pk_value(instance) - if isinstance(pk, integer_types): + if isinstance(pk, int): return self.filter(content_type=content_type, object_id=pk) else: return self.filter(content_type=content_type, object_pk=smart_text(pk)) @@ -98,7 +95,7 @@ class LogEntryManager(models.Manager): content_type = ContentType.objects.get_for_model(queryset.model) primary_keys = list(queryset.values_list(queryset.model._meta.pk.name, flat=True)) - if isinstance(primary_keys[0], integer_types): + if isinstance(primary_keys[0], int): return self.filter(content_type=content_type).filter(Q(object_id__in=primary_keys)).distinct() elif isinstance(queryset.model._meta.pk, models.UUIDField): primary_keys = [smart_text(pk) for pk in primary_keys] @@ -226,7 +223,7 @@ class LogEntry(models.Model): """ substrings = [] - for field, values in iteritems(self.changes_dict): + for field, values in self.changes_dict.items(): substring = smart_text('{field_name:s}{colon:s}{old:s}{arrow:s}{new:s}').format( field_name=field, colon=colon, @@ -249,7 +246,7 @@ class LogEntry(models.Model): model_fields = auditlog.get_model_fields(model._meta.model) changes_display_dict = {} # grab the changes_dict and iterate through - for field_name, values in iteritems(self.changes_dict): + for field_name, values in self.changes_dict.items(): # try to get the field attribute on the model try: field = model._meta.get_field(field_name) diff --git a/src/auditlog/receivers.py b/src/auditlog/receivers.py index 9ee4cf3..25a6228 100644 --- a/src/auditlog/receivers.py +++ b/src/auditlog/receivers.py @@ -1,5 +1,3 @@ -from __future__ import unicode_literals - import json from auditlog.diff import model_instance_diff diff --git a/src/auditlog/registry.py b/src/auditlog/registry.py index 4e5cb02..d0027b7 100644 --- a/src/auditlog/registry.py +++ b/src/auditlog/registry.py @@ -1,8 +1,5 @@ -from __future__ import unicode_literals - from django.db.models.signals import pre_save, post_save, post_delete from django.db.models import Model -from django.utils.six import iteritems class AuditlogModelRegistry(object): diff --git a/tox.ini b/tox.ini index 3be08f6..1df3bf1 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] envlist = - {py27,py34,py35,py36}-django-18 - {py27,py34,py35,py36}-django-110 - {py27,py34,py35,py36}-django-111 + {py34,py35,py36}-django-18 + {py34,py35,py36}-django-110 + {py34,py35,py36}-django-111 {py34,py35,py36}-django-20 {py35,py36}-django-21 {py35,py36}-django-22 @@ -23,4 +23,3 @@ basepython = py36: python3.6 py35: python3.5 py34: python3.4 - py27: python2.7