Skip to content

Commit d916b8e

Browse files
author
Sylvain Delabye
committed
Drop Python 2.7 support
1 parent 3553f61 commit d916b8e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+122
-318
lines changed

CHANGELOG.rst

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ChangeLog
55
master (unreleased)
66
===================
77

8+
- Drop support for Python 2.7 (EOL: January 1st, 2020)
89
- Removed ``tox.ini`` directive that skipped missing Python interpreters.
910

1011
Release 3.3.0 (2019-11-29)

demo/demo/builder/urls.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.conf.urls import url
32
from demo.builder import views
43

demo/demo/builder/views.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.views.generic.list import ListView
32
from django.views.generic.detail import DetailView
43
from django.views.generic.edit import UpdateView
@@ -13,7 +12,7 @@ class FormidableListView(ListView):
1312
model = Formidable
1413

1514
def get_context_data(self):
16-
context = super(FormidableListView, self).get_context_data()
15+
context = super().get_context_data()
1716
context['roles'] = get_accesses()
1817
return context
1918

@@ -24,7 +23,7 @@ class FormidableDetailView(DetailView):
2423

2524
def dispatch(self, request, *args, **kwargs):
2625
request.session['role'] = kwargs['role']
27-
return super(FormidableDetailView, self).dispatch(
26+
return super().dispatch(
2827
request, *args, **kwargs
2928
)
3029

demo/demo/extra_field_toolbox.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Meta(FieldSerializer.Meta):
2828
fields = BASE_FIELDS + ('parameters',)
2929

3030
def to_internal_value(self, data):
31-
data = super(ColorPickerFieldSerializer, self).to_internal_value(data)
31+
data = super().to_internal_value(data)
3232
# Check if the parameters are compliant
3333
format = data.get('color_format')
3434
if format is None:
@@ -54,7 +54,7 @@ def to_python(self, value):
5454
return value
5555

5656
def validate(self, value):
57-
super(ColorPickerField, self).validate(value)
57+
super().validate(value)
5858
params = getattr(self, '__formidable_field_parameters', {})
5959
color_format = params.get('color_format')
6060
if color_format == 'rgb':

demo/demo/formidable_accesses.py

-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
from formidable.accesses import AccessObject, PreviewMode
62

73

demo/demo/views.py

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
31
from django.views.generic.edit import FormView
42

53
from formidable.models import Formidable

demo/tests/serializers/test_validations.py

-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
from django.test import TestCase
62

73
from formidable.models import Formidable

demo/tests/test_conditions.py

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
import os
62
import json
73
import copy
@@ -36,7 +32,7 @@ def setUpTestData(cls):
3632
))
3733

3834
def setUp(self):
39-
super(ConditionTestCase, self).setUp()
35+
super().setUp()
4036
conditions_schema = [
4137
{
4238
'name': 'My Name',
@@ -286,7 +282,7 @@ def get_form_class(self, formidable, role):
286282
return get_dynamic_form_class(formidable, role)
287283

288284
def setUp(self):
289-
super(DropdownConditionsTestCase, self).setUp()
285+
super().setUp()
290286
conditions_schema = [
291287
{
292288
'name': 'Show a and b if value "ab" selected',
@@ -372,7 +368,7 @@ def get_form_class(self, formidable, role):
372368
return get_dynamic_form_class(formidable, role)
373369

374370
def setUp(self):
375-
super(MultipleConditionsTestCase, self).setUp()
371+
super().setUp()
376372
conditions_schema = [
377373
{
378374
'name': 'display A',

demo/tests/test_custom_views.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.test import TestCase
32

43
from rest_framework.permissions import BasePermission, AllowAny

demo/tests/test_end_point.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
import copy
62
from functools import reduce
73
from unittest import skipIf
@@ -1311,7 +1307,7 @@ class UpdateFormTestCase(TestCase):
13111307
}]
13121308

13131309
def setUp(self):
1314-
super(UpdateFormTestCase, self).setUp()
1310+
super().setUp()
13151311
self.form = Formidable.objects.create(
13161312
label='testform', description='test form',
13171313
)

demo/tests/test_exception_handler.py

+2-12
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
"""
3-
Tests for the exception handling module, common with every view in Formidable.
4-
"""
5-
from __future__ import unicode_literals
6-
71
from django.urls import reverse
82
from django.core.exceptions import PermissionDenied
93
from django import forms
@@ -14,19 +8,15 @@
148

159
from formidable.models import Formidable
1610

17-
import six
18-
if six.PY3:
19-
from unittest.mock import patch
20-
else:
21-
from mock import patch
11+
from unittest.mock import patch
2212

2313

2414
INIT_TO_MOCK = 'formidable.serializers.forms.FormidableSerializer.__init__'
2515

2616

2717
class ExceptionHandlingTest(APITestCase):
2818
def setUp(self):
29-
super(ExceptionHandlingTest, self).setUp()
19+
super().setUp()
3020
self.form = Formidable.objects.create(
3121
label='test', description='test'
3222
)

demo/tests/test_extra_field_filler.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
3-
41
import json
52
from os.path import join, dirname
63

@@ -73,7 +70,7 @@ def test_field_factory_settings_not_field_builder(self):
7370
class FillFormWithExtraFieldTestCase(TestCase):
7471

7572
def setUp(self):
76-
super(FillFormWithExtraFieldTestCase, self).setUp()
73+
super().setUp()
7774
self.custom_type_id = 'color_picker'
7875
self.field_register = FieldSerializerRegister.get_instance()
7976

@@ -87,7 +84,7 @@ class ColorPickerFieldSerializer(BaseColorPickerFieldSerializer):
8784
self.schema_data = json.load(fd)
8885

8986
def tearDown(self):
90-
super(FillFormWithExtraFieldTestCase, self).tearDown()
87+
super().tearDown()
9188
self.field_register.pop(self.custom_type_id)
9289

9390
@override_settings(FORMIDABLE_EXTERNAL_FIELD_BUILDERS={

demo/tests/test_field_parameters.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.test import TestCase
32

43
from formidable.forms import FormidableForm
@@ -18,15 +17,15 @@ class WithParametrizedField(FormidableForm):
1817
class TestToFormidableParametrizedField(TestCase):
1918

2019
def setUp(self):
21-
super(TestToFormidableParametrizedField, self).setUp()
20+
super().setUp()
2221
self.field_register = FieldSerializerRegister.get_instance()
2322

2423
@load_serializer(self.field_register)
2524
class ColorPickerFieldSerializer(BaseColorPickerFieldSerializer):
2625
pass
2726

2827
def tearDown(self):
29-
super(TestToFormidableParametrizedField, self).tearDown()
28+
super().tearDown()
3029
self.field_register.pop(BaseColorPickerFieldSerializer.type_id)
3130

3231
def test_to_formidable(self):

demo/tests/test_fields.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
from django.test import TestCase
62

73
from formidable.forms import BaseDynamicForm, fields
@@ -16,7 +12,7 @@ class MockForm(BaseDynamicForm):
1612
sepa = fields.SeparatorField()
1713

1814
def setUp(self):
19-
super(RenderingFormatField, self).setUp()
15+
super().setUp()
2016
self.form = self.MockForm()
2117

2218
def test_render_help_text(self):

demo/tests/test_form_from_schema.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.test import TestCase
32
from django import forms
43
from freezegun import freeze_time

demo/tests/test_forms.py

-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
import json
62
import os
73

demo/tests/test_from_form.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
from django.test import TestCase
62

73
from formidable.models import Formidable
@@ -506,7 +502,7 @@ class CreationForm(FormidableForm):
506502
class TestEditForm(TestCase):
507503

508504
def setUp(self):
509-
super(TestEditForm, self).setUp()
505+
super().setUp()
510506
self.formidable = CreationForm.to_formidable(
511507
label='create', description='my creation form'
512508
)

demo/tests/test_integration.py

+4-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
import os
62
import json
73

@@ -22,12 +18,7 @@
2218

2319
from . import form_data, form_data_items
2420

25-
import six
26-
27-
if six.PY3:
28-
from unittest.mock import patch
29-
else:
30-
from mock import patch
21+
from unittest.mock import patch
3122

3223

3324
TESTS_DIR = os.path.dirname(os.path.abspath(__file__))
@@ -155,7 +146,7 @@ def test_with_unknown_accesses(self):
155146
class UpdateFormTestCase(FormidableAPITestCase):
156147

157148
def setUp(self):
158-
super(UpdateFormTestCase, self).setUp()
149+
super().setUp()
159150
self.form = Formidable.objects.create(
160151
label='test', description='test'
161152
)
@@ -387,7 +378,7 @@ def test_get(self):
387378
class TestChain(FormidableAPITestCase):
388379

389380
def setUp(self):
390-
super(FormidableAPITestCase, self).setUp()
381+
super().setUp()
391382
self.form = MyTestForm.to_formidable(label='Jedi Form')
392383
self.assertTrue(self.form.pk)
393384

@@ -429,7 +420,7 @@ class TestValidationEndPoint(FormidableAPITestCase):
429420
url = 'formidable:form_validation'
430421

431422
def setUp(self):
432-
super(TestValidationEndPoint, self).setUp()
423+
super().setUp()
433424
self.formidable = MyForm.to_formidable(label='title')
434425

435426
def test_validate_data_ok(self):

demo/tests/test_models.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
3-
from __future__ import unicode_literals
4-
51
from django.test import TestCase
62

73
from formidable import constants
@@ -25,7 +21,7 @@ class FormTest(FormidableForm):
2521

2622
class FieldItemTestCase(TestCase):
2723
def setUp(self):
28-
super(FieldItemTestCase, self).setUp()
24+
super().setUp()
2925
self.formidable = FormTest.to_formidable(label='label')
3026

3127
def test_label_field_size(self):
@@ -51,7 +47,7 @@ def test_value_field_size(self):
5147
class UnicodeTestCase(TestCase):
5248

5349
def setUp(self):
54-
super(UnicodeTestCase, self).setUp()
50+
super().setUp()
5551
self.formidable = FormTest.to_formidable(label='label')
5652

5753
def test_formidable(self):

demo/tests/test_perfs_rec.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
import os
32
import json
43

@@ -30,7 +29,7 @@ def record_performance(self, record_name, path=None):
3029
if 'postgresql' in settings.DATABASES['default']['ENGINE']:
3130
record_name = '{}-pg'.format(record_name)
3231

33-
return super(TestCase, self).record_performance(
32+
return super().record_performance(
3433
path=path,
3534
record_name=record_name
3635
)
@@ -45,7 +44,7 @@ class TestPerfRec(TestCase):
4544

4645
@classmethod
4746
def setUpClass(cls):
48-
super(TestPerfRec, cls).setUpClass()
47+
super().setUpClass()
4948
fixtures_path = os.path.join(cls.dir_path, cls.fixtures_folder)
5049

5150
cls.form_data = json.load(

demo/tests/test_permissions.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
from django.conf import settings
32
from django.test import TestCase, override_settings
43
from rest_framework.permissions import AllowAny, IsAuthenticated

demo/tests/test_post_save_callbacks.py

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
3-
41
from copy import deepcopy
52
from django.core.exceptions import ImproperlyConfigured
63
from django.urls import reverse
@@ -14,11 +11,7 @@
1411

1512
from . import form_data, form_data_items
1613

17-
import six
18-
if six.PY3:
19-
from unittest.mock import patch
20-
else:
21-
from mock import patch
14+
from unittest.mock import patch
2215

2316
CALLBACK = 'demo.callback_save'
2417
CALLBACK_EXCEPTION = 'demo.callback_exception'
@@ -99,7 +92,7 @@ def test_create_callback_is_non_existent(self):
9992
class UpdateFormTestCase(APITestCase):
10093

10194
def setUp(self):
102-
super(UpdateFormTestCase, self).setUp()
95+
super().setUp()
10396
self.form = Formidable.objects.create(
10497
label='test', description='test'
10598
)

0 commit comments

Comments
 (0)