From b2697aee7396582b6cd6482570c9f350a7939de2 Mon Sep 17 00:00:00 2001 From: Victor Yunenko Date: Mon, 5 Oct 2020 14:05:56 +0300 Subject: [PATCH] drop python 2 support and make compatible with django 3 --- CHANGELOG.rst | 13 +++++++++++++ aldryn_config.py | 1 - aldryn_forms/__init__.py | 3 +-- aldryn_forms/action_backends.py | 1 - aldryn_forms/action_backends_base.py | 1 - aldryn_forms/admin/__init__.py | 1 - aldryn_forms/admin/base.py | 7 +------ aldryn_forms/admin/exporter.py | 1 - aldryn_forms/admin/forms.py | 1 - aldryn_forms/admin/views.py | 1 - aldryn_forms/cms_apps.py | 1 - aldryn_forms/cms_plugins.py | 7 ++----- aldryn_forms/compat.py | 2 -- .../contrib/email_notifications/cms_plugins.py | 1 - aldryn_forms/contrib/email_notifications/helpers.py | 1 - .../email_notifications/migrations/0001_initial.py | 1 - .../0002_form_plugin_add_missing_permission.py | 1 - .../migrations/0003_auto_20180206_1733.py | 1 - aldryn_forms/contrib/email_notifications/models.py | 3 --- .../contrib/email_notifications/notification.py | 1 - aldryn_forms/forms.py | 1 - aldryn_forms/helpers.py | 3 --- aldryn_forms/migrations/0001_initial.py | 1 - aldryn_forms/migrations/0002_auto_20151014_1631.py | 1 - aldryn_forms/migrations/0003_auto_20151207_1038.py | 1 - aldryn_forms/migrations/0004_auto_20151207_1825.py | 1 - aldryn_forms/migrations/0005_auto_20160821_1026.py | 1 - aldryn_forms/migrations/0006_auto_20160821_1039.py | 1 - aldryn_forms/migrations/0007_auto_20170315_1421.py | 1 - aldryn_forms/migrations/0008_auto_20170316_0845.py | 1 - aldryn_forms/migrations/0009_auto_20171218_1049.py | 1 - aldryn_forms/migrations/0010_auto_20171220_1733.py | 1 - aldryn_forms/migrations/0011_auto_20180110_1300.py | 1 - aldryn_forms/models.py | 11 +---------- aldryn_forms/signals.py | 1 - aldryn_forms/sizefield/utils.py | 8 +++----- aldryn_forms/templatetags/aldryn_forms_tags.py | 1 - aldryn_forms/urls.py | 1 - aldryn_forms/utils.py | 1 - aldryn_forms/validators.py | 1 - aldryn_forms/views.py | 1 - setup.py | 1 - tests/settings.py | 1 - tests/test_migrations.py | 9 +++------ tests/test_models.py | 1 - 45 files changed, 24 insertions(+), 77 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 119bab8c..ce896b5a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,19 @@ Changelog ========= +6.2.0.rc1 (2020-10-05) +================== + +* Scroll the page to the submitted form success text (before the page would just reload without a success message) +* Fix the email notification variables render (it wasn't working for a year) +* Fix `reply_to_email` field - it wasn't possible to configure before +* Fix the form submission success message that was appearing on a non-related to the form page +* Fix a bug that would break the form when the user added spaces to a field's name +* Fix the caching bug that was breaking the page when a field was added outside of a form plugin +* Drop Python 2 support, make compatible with Django 3 +* Drop the form plugin that doesn't allow to send email notifications + + 5.0.4 (2020-05-19) ================== diff --git a/aldryn_config.py b/aldryn_config.py index 14daac5b..05e3f2c3 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from aldryn_client import forms diff --git a/aldryn_forms/__init__.py b/aldryn_forms/__init__.py index f6e13f09..f1aa8c6c 100644 --- a/aldryn_forms/__init__.py +++ b/aldryn_forms/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- -__version__ = '5.0.4' +__version__ = '6.2.0.rc1' diff --git a/aldryn_forms/action_backends.py b/aldryn_forms/action_backends.py index 6fb16417..f368e978 100644 --- a/aldryn_forms/action_backends.py +++ b/aldryn_forms/action_backends.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import logging from django.utils.translation import ugettext_lazy as _ diff --git a/aldryn_forms/action_backends_base.py b/aldryn_forms/action_backends_base.py index ae67f3e4..f80ec10a 100644 --- a/aldryn_forms/action_backends_base.py +++ b/aldryn_forms/action_backends_base.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import abc import six diff --git a/aldryn_forms/admin/__init__.py b/aldryn_forms/admin/__init__.py index ca8bbc9b..d739779f 100644 --- a/aldryn_forms/admin/__init__.py +++ b/aldryn_forms/admin/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.contrib import admin from ..models import FormSubmission diff --git a/aldryn_forms/admin/base.py b/aldryn_forms/admin/base.py index e044768b..3d856f1b 100644 --- a/aldryn_forms/admin/base.py +++ b/aldryn_forms/admin/base.py @@ -1,17 +1,12 @@ -# -*- coding: utf-8 -*- from email.utils import formataddr from django.contrib import admin from django.template.loader import render_to_string from django.urls import reverse -from django.utils import six from django.utils.translation import ugettext_lazy as _ -if six.PY2: - str_dunder_method = '__unicode__' -else: - str_dunder_method = '__str__' +str_dunder_method = '__str__' class BaseFormSubmissionAdmin(admin.ModelAdmin): diff --git a/aldryn_forms/admin/exporter.py b/aldryn_forms/admin/exporter.py index 6e7075e5..68054166 100644 --- a/aldryn_forms/admin/exporter.py +++ b/aldryn_forms/admin/exporter.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from tablib import Dataset diff --git a/aldryn_forms/admin/forms.py b/aldryn_forms/admin/forms.py index 135710c0..00791517 100644 --- a/aldryn_forms/admin/forms.py +++ b/aldryn_forms/admin/forms.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from datetime import datetime, timedelta from django import forms diff --git a/aldryn_forms/admin/views.py b/aldryn_forms/admin/views.py index f8cad4c1..16884c63 100644 --- a/aldryn_forms/admin/views.py +++ b/aldryn_forms/admin/views.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django import get_version from django.contrib import messages from django.http import HttpResponse diff --git a/aldryn_forms/cms_apps.py b/aldryn_forms/cms_apps.py index 693268c5..57d61441 100644 --- a/aldryn_forms/cms_apps.py +++ b/aldryn_forms/cms_apps.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.utils.translation import ugettext_lazy as _ from cms.app_base import CMSApp diff --git a/aldryn_forms/cms_plugins.py b/aldryn_forms/cms_plugins.py index 4e74f4b7..60a3bfb4 100644 --- a/aldryn_forms/cms_plugins.py +++ b/aldryn_forms/cms_plugins.py @@ -5,13 +5,10 @@ from cms.plugin_base import CMSPluginBase from cms.plugin_pool import plugin_pool from django import forms -from django.contrib import messages from django.contrib.admin import TabularInline from django.core.validators import MinLengthValidator from django.db.models import query from django.template.loader import select_template -from django.utils.safestring import mark_safe -from django.utils.six import text_type from django.utils.translation import ugettext from django.utils.translation import ugettext_lazy as _ from emailit.api import send_mail @@ -289,10 +286,10 @@ class Field(FormElement): def serialize_value(self, instance, value, is_confirmation=False): if isinstance(value, query.QuerySet): - value = u', '.join(map(text_type, value)) + value = u', '.join(map(str, value)) elif value is None: value = '-' - return text_type(value) + return str(value) def serialize_field(self, form, field, is_confirmation=False): """Returns a (key, label, value) named tuple for the given field.""" diff --git a/aldryn_forms/compat.py b/aldryn_forms/compat.py index dfe7daba..0cd92052 100644 --- a/aldryn_forms/compat.py +++ b/aldryn_forms/compat.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - try: from collections import OrderedDict except ImportError: diff --git a/aldryn_forms/contrib/email_notifications/cms_plugins.py b/aldryn_forms/contrib/email_notifications/cms_plugins.py index 0fba4ab7..54cefb51 100644 --- a/aldryn_forms/contrib/email_notifications/cms_plugins.py +++ b/aldryn_forms/contrib/email_notifications/cms_plugins.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import logging from email.utils import parseaddr from typing import List diff --git a/aldryn_forms/contrib/email_notifications/helpers.py b/aldryn_forms/contrib/email_notifications/helpers.py index 4f0589d4..fb34558f 100644 --- a/aldryn_forms/contrib/email_notifications/helpers.py +++ b/aldryn_forms/contrib/email_notifications/helpers.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import os from string import Template diff --git a/aldryn_forms/contrib/email_notifications/migrations/0001_initial.py b/aldryn_forms/contrib/email_notifications/migrations/0001_initial.py index f0e867be..781956cc 100644 --- a/aldryn_forms/contrib/email_notifications/migrations/0001_initial.py +++ b/aldryn_forms/contrib/email_notifications/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.conf import settings diff --git a/aldryn_forms/contrib/email_notifications/migrations/0002_form_plugin_add_missing_permission.py b/aldryn_forms/contrib/email_notifications/migrations/0002_form_plugin_add_missing_permission.py index 716334d7..07c7b1de 100644 --- a/aldryn_forms/contrib/email_notifications/migrations/0002_form_plugin_add_missing_permission.py +++ b/aldryn_forms/contrib/email_notifications/migrations/0002_form_plugin_add_missing_permission.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.contrib.auth.models import Permission diff --git a/aldryn_forms/contrib/email_notifications/migrations/0003_auto_20180206_1733.py b/aldryn_forms/contrib/email_notifications/migrations/0003_auto_20180206_1733.py index a8639bef..3b10507a 100644 --- a/aldryn_forms/contrib/email_notifications/migrations/0003_auto_20180206_1733.py +++ b/aldryn_forms/contrib/email_notifications/migrations/0003_auto_20180206_1733.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.8 on 2018-02-06 19:33 from __future__ import unicode_literals diff --git a/aldryn_forms/contrib/email_notifications/models.py b/aldryn_forms/contrib/email_notifications/models.py index a5a4c4e0..a88b55ec 100644 --- a/aldryn_forms/contrib/email_notifications/models.py +++ b/aldryn_forms/contrib/email_notifications/models.py @@ -1,11 +1,9 @@ -# -*- coding: utf-8 -*- from email.utils import formataddr from functools import partial from django.conf import settings from django.core.exceptions import ValidationError from django.db import models -from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext from django.utils.translation import ugettext_lazy as _ @@ -52,7 +50,6 @@ def get_notification_text_context_keys_as_choices(self): return choices -@python_2_unicode_compatible class EmailNotification(models.Model): class Meta: diff --git a/aldryn_forms/contrib/email_notifications/notification.py b/aldryn_forms/contrib/email_notifications/notification.py index 11c1a8fa..178a6423 100644 --- a/aldryn_forms/contrib/email_notifications/notification.py +++ b/aldryn_forms/contrib/email_notifications/notification.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.utils.translation import ugettext from .helpers import get_email_template_name diff --git a/aldryn_forms/forms.py b/aldryn_forms/forms.py index 08e0413b..c0141b88 100644 --- a/aldryn_forms/forms.py +++ b/aldryn_forms/forms.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django import forms from django.conf import settings from django.forms.forms import NON_FIELD_ERRORS diff --git a/aldryn_forms/helpers.py b/aldryn_forms/helpers.py index 4bbe0fa0..f6beb61e 100644 --- a/aldryn_forms/helpers.py +++ b/aldryn_forms/helpers.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- - - def get_user_name(user): try: name = user.get_full_name() diff --git a/aldryn_forms/migrations/0001_initial.py b/aldryn_forms/migrations/0001_initial.py index 3d47c52a..a5f7179c 100644 --- a/aldryn_forms/migrations/0001_initial.py +++ b/aldryn_forms/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.conf import settings diff --git a/aldryn_forms/migrations/0002_auto_20151014_1631.py b/aldryn_forms/migrations/0002_auto_20151014_1631.py index 4033cb75..ddde64b5 100644 --- a/aldryn_forms/migrations/0002_auto_20151014_1631.py +++ b/aldryn_forms/migrations/0002_auto_20151014_1631.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals import django.core.validators diff --git a/aldryn_forms/migrations/0003_auto_20151207_1038.py b/aldryn_forms/migrations/0003_auto_20151207_1038.py index 6f36b2b4..da08747c 100644 --- a/aldryn_forms/migrations/0003_auto_20151207_1038.py +++ b/aldryn_forms/migrations/0003_auto_20151207_1038.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals import django.core.validators diff --git a/aldryn_forms/migrations/0004_auto_20151207_1825.py b/aldryn_forms/migrations/0004_auto_20151207_1825.py index 99b09223..75a50226 100644 --- a/aldryn_forms/migrations/0004_auto_20151207_1825.py +++ b/aldryn_forms/migrations/0004_auto_20151207_1825.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.conf import settings diff --git a/aldryn_forms/migrations/0005_auto_20160821_1026.py b/aldryn_forms/migrations/0005_auto_20160821_1026.py index 08e42ec1..c249d8bf 100644 --- a/aldryn_forms/migrations/0005_auto_20160821_1026.py +++ b/aldryn_forms/migrations/0005_auto_20160821_1026.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.8 on 2016-08-21 14:26 from __future__ import unicode_literals diff --git a/aldryn_forms/migrations/0006_auto_20160821_1039.py b/aldryn_forms/migrations/0006_auto_20160821_1039.py index eba4d9e0..0611b129 100644 --- a/aldryn_forms/migrations/0006_auto_20160821_1039.py +++ b/aldryn_forms/migrations/0006_auto_20160821_1039.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.8 on 2016-08-21 14:39 from __future__ import unicode_literals diff --git a/aldryn_forms/migrations/0007_auto_20170315_1421.py b/aldryn_forms/migrations/0007_auto_20170315_1421.py index 5596318b..84e826ce 100644 --- a/aldryn_forms/migrations/0007_auto_20170315_1421.py +++ b/aldryn_forms/migrations/0007_auto_20170315_1421.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import migrations, models diff --git a/aldryn_forms/migrations/0008_auto_20170316_0845.py b/aldryn_forms/migrations/0008_auto_20170316_0845.py index 08855f12..ae571ee9 100644 --- a/aldryn_forms/migrations/0008_auto_20170316_0845.py +++ b/aldryn_forms/migrations/0008_auto_20170316_0845.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import migrations, models diff --git a/aldryn_forms/migrations/0009_auto_20171218_1049.py b/aldryn_forms/migrations/0009_auto_20171218_1049.py index 91a59284..4af040a7 100644 --- a/aldryn_forms/migrations/0009_auto_20171218_1049.py +++ b/aldryn_forms/migrations/0009_auto_20171218_1049.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.8 on 2017-12-18 12:49 from __future__ import unicode_literals diff --git a/aldryn_forms/migrations/0010_auto_20171220_1733.py b/aldryn_forms/migrations/0010_auto_20171220_1733.py index b122d1fc..fb9d4bda 100644 --- a/aldryn_forms/migrations/0010_auto_20171220_1733.py +++ b/aldryn_forms/migrations/0010_auto_20171220_1733.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.8 on 2017-12-20 19:33 from __future__ import unicode_literals diff --git a/aldryn_forms/migrations/0011_auto_20180110_1300.py b/aldryn_forms/migrations/0011_auto_20180110_1300.py index 300f96cd..85b20024 100644 --- a/aldryn_forms/migrations/0011_auto_20180110_1300.py +++ b/aldryn_forms/migrations/0011_auto_20180110_1300.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.8 on 2018-01-10 15:00 from __future__ import unicode_literals diff --git a/aldryn_forms/models.py b/aldryn_forms/models.py index f7c2ed41..0bbefd66 100644 --- a/aldryn_forms/models.py +++ b/aldryn_forms/models.py @@ -12,9 +12,7 @@ from django.core.exceptions import ValidationError from django.db import models from django.db.models.functions import Coalesce -from django.utils.encoding import python_2_unicode_compatible from django.utils.functional import cached_property -from django.utils.six import text_type from django.utils.translation import ugettext_lazy as _ from djangocms_attributes_field.fields import AttributesField from filer.fields.folder import FilerFolderField @@ -92,7 +90,6 @@ def field_type(self): return self.name.rpartition('_')[0] -@python_2_unicode_compatible class BaseFormPlugin(CMSPlugin): FALLBACK_FORM_TEMPLATE = 'aldryn_forms/form.html' DEFAULT_FORM_TEMPLATE = getattr( @@ -335,7 +332,6 @@ def get_form_elements(self): return self._form_elements -@python_2_unicode_compatible class FormPlugin(BaseFormPlugin): class Meta: @@ -345,7 +341,6 @@ def __str__(self): return self.name -@python_2_unicode_compatible class FieldsetPlugin(CMSPlugin): legend = models.CharField(_('Legend'), max_length=255, blank=True) @@ -356,10 +351,9 @@ class FieldsetPlugin(CMSPlugin): ) def __str__(self): - return self.legend or text_type(self.pk) + return self.legend or str(self.pk) -@python_2_unicode_compatible class FieldPluginBase(CMSPlugin): name = models.CharField( _('Name'), @@ -520,7 +514,6 @@ class ImageUploadFieldPlugin(FileFieldPluginBase): ) -@python_2_unicode_compatible class Option(models.Model): field = models.ForeignKey(FieldPlugin, editable=False, on_delete=models.CASCADE) value = models.CharField(_('Value'), max_length=255) @@ -546,7 +539,6 @@ def save(self, *args, **kwargs): return super(Option, self).save(*args, **kwargs) -@python_2_unicode_compatible class FormButtonPlugin(CMSPlugin): label = models.CharField(_('Label'), max_length=255) custom_classes = models.CharField( @@ -559,7 +551,6 @@ def __str__(self): return self.label -@python_2_unicode_compatible class FormSubmission(models.Model): name = models.CharField( max_length=255, diff --git a/aldryn_forms/signals.py b/aldryn_forms/signals.py index 964cb5e2..653c9bfa 100644 --- a/aldryn_forms/signals.py +++ b/aldryn_forms/signals.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.dispatch import Signal diff --git a/aldryn_forms/sizefield/utils.py b/aldryn_forms/sizefield/utils.py index b3162a72..3aed242b 100644 --- a/aldryn_forms/sizefield/utils.py +++ b/aldryn_forms/sizefield/utils.py @@ -1,11 +1,9 @@ -from __future__ import unicode_literals - import operator import re import sys from django.conf import settings -from django.utils import formats, six +from django.utils import formats from django.utils.translation import ugettext as _ @@ -43,7 +41,7 @@ def filesizeformat(bytes, decimals=1): def filesize_number_format(value): return formats.number_format(round(value, decimals), decimals) - units_list = sorted(six.iteritems(FILESIZE_UNITS), key=operator.itemgetter(1)) + units_list = sorted(FILESIZE_UNITS.items(), key=operator.itemgetter(1)) value = unit = None len_unints_list = len(units_list) @@ -65,7 +63,7 @@ def parse_size(size): """ @rtype int """ - if isinstance(size, six.integer_types): + if isinstance(size, int): return size r = file_size_re.match(size.strip()) diff --git a/aldryn_forms/templatetags/aldryn_forms_tags.py b/aldryn_forms/templatetags/aldryn_forms_tags.py index c87c1f1b..d2f14540 100644 --- a/aldryn_forms/templatetags/aldryn_forms_tags.py +++ b/aldryn_forms/templatetags/aldryn_forms_tags.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django import template from django.utils import encoding from django.utils.safestring import mark_safe diff --git a/aldryn_forms/urls.py b/aldryn_forms/urls.py index 73fa69f1..b0b9d4dd 100644 --- a/aldryn_forms/urls.py +++ b/aldryn_forms/urls.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.conf.urls import url from .views import submit_form_view diff --git a/aldryn_forms/utils.py b/aldryn_forms/utils.py index d4ff0eab..b28bd8f5 100644 --- a/aldryn_forms/utils.py +++ b/aldryn_forms/utils.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.conf import settings diff --git a/aldryn_forms/validators.py b/aldryn_forms/validators.py index 2eb77a99..a7f974bb 100644 --- a/aldryn_forms/validators.py +++ b/aldryn_forms/validators.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from email.utils import parseaddr from django.core.exceptions import ValidationError diff --git a/aldryn_forms/views.py b/aldryn_forms/views.py index 78d317c7..49d2f06e 100644 --- a/aldryn_forms/views.py +++ b/aldryn_forms/views.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.http import HttpResponseBadRequest, HttpResponseRedirect from django.shortcuts import render from django.urls import resolve diff --git a/setup.py b/setup.py index d0607c7d..bf2bf5d8 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from setuptools import find_packages, setup from aldryn_forms import __version__ diff --git a/tests/settings.py b/tests/settings.py index b0c6a250..f11b6267 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -1,5 +1,4 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- from __future__ import division, print_function, unicode_literals diff --git a/tests/test_migrations.py b/tests/test_migrations.py index 8f52564f..26c0b559 100644 --- a/tests/test_migrations.py +++ b/tests/test_migrations.py @@ -1,10 +1,7 @@ -# -*- coding: utf-8 -*- -# original from -# http://tech.octopus.energy/news/2016/01/21/testing-for-missing-migrations-in-django.html +from StringIO import StringIO + from django.core.management import call_command from django.test import TestCase, override_settings -from django.utils.six import text_type -from django.utils.six.moves import StringIO class MigrationTestCase(TestCase): @@ -22,7 +19,7 @@ def test_for_missing_migrations(self): try: call_command('makemigrations', **options) except SystemExit as e: - status_code = text_type(e) + status_code = str(e) else: # the "no changes" exit code is 0 status_code = '0' diff --git a/tests/test_models.py b/tests/test_models.py index 7a660db9..5ad4c5ac 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from __future__ import division, print_function, unicode_literals from django.db import IntegrityError