From 7eb60e20b11713a1d16e4e168e038f4ddf05605c Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Mon, 13 Sep 2021 16:32:00 +0600 Subject: [PATCH 01/10] clean python 2 codes --- rest_framework_json_api/__init__.py | 2 -- rest_framework_json_api/django_filters/backends.py | 2 +- rest_framework_json_api/filters.py | 4 +--- rest_framework_json_api/parsers.py | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/rest_framework_json_api/__init__.py b/rest_framework_json_api/__init__.py index 8f8e5dd7..6add109f 100644 --- a/rest_framework_json_api/__init__.py +++ b/rest_framework_json_api/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - __title__ = "djangorestframework-jsonapi" __version__ = "4.2.1" __author__ = "" diff --git a/rest_framework_json_api/django_filters/backends.py b/rest_framework_json_api/django_filters/backends.py index 09e64bc2..fbcb0334 100644 --- a/rest_framework_json_api/django_filters/backends.py +++ b/rest_framework_json_api/django_filters/backends.py @@ -138,7 +138,7 @@ def get_schema_operation_parameters(self, view): This is basically the reverse of `get_filterset_kwargs` above. """ - result = super(DjangoFilterBackend, self).get_schema_operation_parameters(view) + result = super().get_schema_operation_parameters(view) for res in result: if "name" in res: res["name"] = "filter[{}]".format(res["name"]).replace("__", ".") diff --git a/rest_framework_json_api/filters.py b/rest_framework_json_api/filters.py index 3862057a..02459372 100644 --- a/rest_framework_json_api/filters.py +++ b/rest_framework_json_api/filters.py @@ -61,9 +61,7 @@ def remove_invalid_fields(self, queryset, fields, view, request): else: underscore_fields.append(undo_format_field_name(item_rewritten)) - return super(OrderingFilter, self).remove_invalid_fields( - queryset, underscore_fields, view, request - ) + return super().remove_invalid_fields(queryset, underscore_fields, view, request) class QueryParameterValidationFilter(BaseFilterBackend): diff --git a/rest_framework_json_api/parsers.py b/rest_framework_json_api/parsers.py index 434e2925..e84d5b47 100644 --- a/rest_framework_json_api/parsers.py +++ b/rest_framework_json_api/parsers.py @@ -74,7 +74,7 @@ def parse(self, stream, media_type=None, parser_context=None): """ Parses the incoming bytestream as JSON and returns the resulting data """ - result = super(JSONParser, self).parse( + result = super().parse( stream, media_type=media_type, parser_context=parser_context ) From c5dde673dca126ac1ec87a5e144e2bb036440fd5 Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Tue, 14 Sep 2021 09:34:20 +0600 Subject: [PATCH 02/10] clean python 2 codes --- rest_framework_json_api/renderers.py | 2 +- rest_framework_json_api/serializers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rest_framework_json_api/renderers.py b/rest_framework_json_api/renderers.py index e86c0c0b..80107079 100644 --- a/rest_framework_json_api/renderers.py +++ b/rest_framework_json_api/renderers.py @@ -666,7 +666,7 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer): includes_template = "rest_framework_json_api/includes.html" def get_context(self, data, accepted_media_type, renderer_context): - context = super(BrowsableAPIRenderer, self).get_context( + context = super().get_context( data, accepted_media_type, renderer_context ) view = renderer_context["view"] diff --git a/rest_framework_json_api/serializers.py b/rest_framework_json_api/serializers.py index ce80874a..6f093841 100644 --- a/rest_framework_json_api/serializers.py +++ b/rest_framework_json_api/serializers.py @@ -291,7 +291,7 @@ def get_field_names(self, declared_fields, info): field = declared_fields[field_name] if field_name not in meta_fields: declared[field_name] = field - fields = super(ModelSerializer, self).get_field_names(declared, info) + fields = super().get_field_names(declared, info) return list(fields) + list(getattr(self.Meta, "meta_fields", list())) From c4a424af986db11da83aa39c062ba01e6cf5ea82 Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Tue, 14 Sep 2021 09:40:34 +0600 Subject: [PATCH 03/10] black --- rest_framework_json_api/renderers.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rest_framework_json_api/renderers.py b/rest_framework_json_api/renderers.py index 80107079..19d91697 100644 --- a/rest_framework_json_api/renderers.py +++ b/rest_framework_json_api/renderers.py @@ -666,9 +666,7 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer): includes_template = "rest_framework_json_api/includes.html" def get_context(self, data, accepted_media_type, renderer_context): - context = super().get_context( - data, accepted_media_type, renderer_context - ) + context = super().get_context(data, accepted_media_type, renderer_context) view = renderer_context["view"] context["includes_form"] = self.get_includes_form(view) From aab47fe3d996172ceb1d682fd1e81656885bc19f Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Sun, 17 Oct 2021 08:06:59 +0600 Subject: [PATCH 04/10] clean more python 2 style super call --- docs/usage.md | 2 +- example/api/resources/identity.py | 2 +- example/serializers.py | 4 ++-- example/tests/__init__.py | 2 +- example/tests/test_format_keys.py | 2 +- example/tests/test_generic_validation.py | 2 +- example/tests/test_model_viewsets.py | 2 +- example/tests/test_serializers.py | 2 +- example/views.py | 12 ++++++------ rest_framework_json_api/relations.py | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index bf77f3dd..cdbd516f 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -620,7 +620,7 @@ class LineItemViewSet(viewsets.ModelViewSet): serializer_class = LineItemSerializer def get_queryset(self): - queryset = super(LineItemViewSet, self).get_queryset() + queryset = super().get_queryset() # if this viewset is accessed via the 'order-lineitems-list' route, # it wll have been passed the `order_pk` kwarg and the queryset diff --git a/example/api/resources/identity.py b/example/api/resources/identity.py index a291ba4f..12705553 100644 --- a/example/api/resources/identity.py +++ b/example/api/resources/identity.py @@ -33,7 +33,7 @@ def posts(self, request): @action(detail=True) def manual_resource_name(self, request, *args, **kwargs): self.resource_name = "data" - return super(Identity, self).retrieve(request, args, kwargs) + return super().retrieve(request, args, kwargs) @action(detail=True) def validation(self, request, *args, **kwargs): diff --git a/example/serializers.py b/example/serializers.py index 43415243..0e1022cc 100644 --- a/example/serializers.py +++ b/example/serializers.py @@ -83,7 +83,7 @@ class Meta: class EntrySerializer(serializers.ModelSerializer): def __init__(self, *args, **kwargs): - super(EntrySerializer, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) # to make testing more concise we'll only output the # `featured` field when it's requested via `include` request = kwargs.get("context", {}).get("request") @@ -379,7 +379,7 @@ class Meta: class CurrentProjectRelatedField(relations.PolymorphicResourceRelatedField): def get_attribute(self, instance): - obj = super(CurrentProjectRelatedField, self).get_attribute(instance) + obj = super().get_attribute(instance) is_art = self.field_name == "current_art_project" and isinstance( obj, ArtProject diff --git a/example/tests/__init__.py b/example/tests/__init__.py index daca2310..94a86486 100644 --- a/example/tests/__init__.py +++ b/example/tests/__init__.py @@ -11,7 +11,7 @@ def setUp(self): """ Create those users """ - super(TestBase, self).setUp() + super().setUp() self.create_users() def create_user(self, username, email, password="pw", first_name="", last_name=""): diff --git a/example/tests/test_format_keys.py b/example/tests/test_format_keys.py index 698a8bb1..8d99eec7 100644 --- a/example/tests/test_format_keys.py +++ b/example/tests/test_format_keys.py @@ -14,7 +14,7 @@ class FormatKeysSetTests(TestBase): list_url = reverse("user-list") def setUp(self): - super(FormatKeysSetTests, self).setUp() + super().setUp() self.detail_url = reverse("user-detail", kwargs={"pk": self.miles.pk}) def test_camelization(self): diff --git a/example/tests/test_generic_validation.py b/example/tests/test_generic_validation.py index 99d2d09a..1c3561e7 100644 --- a/example/tests/test_generic_validation.py +++ b/example/tests/test_generic_validation.py @@ -9,7 +9,7 @@ class GenericValidationTest(TestBase): """ def setUp(self): - super(GenericValidationTest, self).setUp() + super().setUp() self.url = reverse("user-validation", kwargs={"pk": self.miles.pk}) def test_generic_validation_error(self): diff --git a/example/tests/test_model_viewsets.py b/example/tests/test_model_viewsets.py index 9d4a610f..adb95d81 100644 --- a/example/tests/test_model_viewsets.py +++ b/example/tests/test_model_viewsets.py @@ -19,7 +19,7 @@ class ModelViewSetTests(TestBase): list_url = reverse("user-list") def setUp(self): - super(ModelViewSetTests, self).setUp() + super().setUp() self.detail_url = reverse("user-detail", kwargs={"pk": self.miles.pk}) def test_key_in_list_result(self): diff --git a/example/tests/test_serializers.py b/example/tests/test_serializers.py index 9cfe6db9..8f14fed8 100644 --- a/example/tests/test_serializers.py +++ b/example/tests/test_serializers.py @@ -179,7 +179,7 @@ def test_deserialize_many(self): print(serializer.data) -class TestModelSerializer(object): +class TestModelSerializer: def test_model_serializer_with_implicit_fields(self, comment, client): expected = { "data": { diff --git a/example/views.py b/example/views.py index 0b35d4e4..0bf6231b 100644 --- a/example/views.py +++ b/example/views.py @@ -57,7 +57,7 @@ def get_object(self): if entry_pk is not None: return Entry.objects.get(id=entry_pk).blog - return super(BlogViewSet, self).get_object() + return super().get_object() class DRFBlogViewSet(ModelViewSet): @@ -70,7 +70,7 @@ def get_object(self): if entry_pk is not None: return Entry.objects.get(id=entry_pk).blog - return super(DRFBlogViewSet, self).get_object() + return super().get_object() class JsonApiViewSet(ModelViewSet): @@ -98,7 +98,7 @@ def handle_exception(self, exc): exc.status_code = HTTP_422_UNPROCESSABLE_ENTITY # exception handler can't be set on class so you have to # override the error response in this method - response = super(JsonApiViewSet, self).handle_exception(exc) + response = super().handle_exception(exc) context = self.get_exception_handler_context() return format_drf_errors(response, context, exc) @@ -121,7 +121,7 @@ def get_object(self): if entry_pk is not None: return Entry.objects.exclude(pk=entry_pk).first() - return super(EntryViewSet, self).get_object() + return super().get_object() class DRFEntryViewSet(ModelViewSet): @@ -135,7 +135,7 @@ def get_object(self): if entry_pk is not None: return Entry.objects.exclude(pk=entry_pk).first() - return super(DRFEntryViewSet, self).get_object() + return super().get_object() class NoPagination(JsonApiPageNumberPagination): @@ -247,7 +247,7 @@ def get_queryset(self, *args, **kwargs): if entry_pk is not None: return self.queryset.filter(entry_id=entry_pk) - return super(CommentViewSet, self).get_queryset() + return super().get_queryset() class CompanyViewset(ModelViewSet): diff --git a/rest_framework_json_api/relations.py b/rest_framework_json_api/relations.py index f6e91cfe..b57c308c 100644 --- a/rest_framework_json_api/relations.py +++ b/rest_framework_json_api/relations.py @@ -359,7 +359,7 @@ def to_internal_value(self, data): received_type=data["type"], ) - return super(ResourceRelatedField, self).to_internal_value(data["id"]) + return super().to_internal_value(data["id"]) class SerializerMethodFieldBase(Field): From 29666cad650af5fcbe63fbac47fc6f0aac86ab6c Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Sun, 17 Oct 2021 08:42:11 +0600 Subject: [PATCH 05/10] remove more python to codes --- docs/conf.py | 2 +- example/factories.py | 2 -- example/migrations/0001_initial.py | 4 ---- example/migrations/0002_taggeditem.py | 4 ---- example/migrations/0003_polymorphics.py | 4 ---- example/migrations/0004_auto_20171011_0631.py | 4 ---- example/models.py | 3 --- example/tests/snapshots/snap_test_errors.py | 4 ---- example/tests/snapshots/snap_test_openapi.py | 4 ---- 9 files changed, 1 insertion(+), 30 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index cd9266ce..6b13ce60 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# -*- coding: utf-8 -*- +# # # Django REST framework JSON:API documentation build configuration file, created by # sphinx-quickstart on Fri Jul 24 23:31:15 2015. diff --git a/example/factories.py b/example/factories.py index 0de561f6..96b85cad 100644 --- a/example/factories.py +++ b/example/factories.py @@ -1,5 +1,3 @@ -# -*- encoding: utf-8 -*- - import factory from faker import Factory as FakerFactory diff --git a/example/migrations/0001_initial.py b/example/migrations/0001_initial.py index 35e01afe..0161cd49 100644 --- a/example/migrations/0001_initial.py +++ b/example/migrations/0001_initial.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.5 on 2016-05-02 08:26 -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/example/migrations/0002_taggeditem.py b/example/migrations/0002_taggeditem.py index 3a57d22f..0abf49e0 100644 --- a/example/migrations/0002_taggeditem.py +++ b/example/migrations/0002_taggeditem.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.5 on 2017-02-01 08:34 -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/example/migrations/0003_polymorphics.py b/example/migrations/0003_polymorphics.py index 46919dbb..1bae8491 100644 --- a/example/migrations/0003_polymorphics.py +++ b/example/migrations/0003_polymorphics.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.1 on 2017-05-17 14:49 -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/example/migrations/0004_auto_20171011_0631.py b/example/migrations/0004_auto_20171011_0631.py index b1035dfe..fa597a29 100644 --- a/example/migrations/0004_auto_20171011_0631.py +++ b/example/migrations/0004_auto_20171011_0631.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.6 on 2017-10-11 06:31 -from __future__ import unicode_literals - import django.db.models.deletion from django.db import migrations, models diff --git a/example/models.py b/example/models.py index 18b965a3..63d93e33 100644 --- a/example/models.py +++ b/example/models.py @@ -1,6 +1,3 @@ -# -*- encoding: utf-8 -*- -from __future__ import unicode_literals - from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation from django.contrib.contenttypes.models import ContentType from django.db import models diff --git a/example/tests/snapshots/snap_test_errors.py b/example/tests/snapshots/snap_test_errors.py index dd5ca4f8..09bc25ef 100644 --- a/example/tests/snapshots/snap_test_errors.py +++ b/example/tests/snapshots/snap_test_errors.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - from snapshottest import Snapshot snapshots = Snapshot() diff --git a/example/tests/snapshots/snap_test_openapi.py b/example/tests/snapshots/snap_test_openapi.py index f89fb442..a0e6e78e 100644 --- a/example/tests/snapshots/snap_test_openapi.py +++ b/example/tests/snapshots/snap_test_openapi.py @@ -1,7 +1,3 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - from snapshottest import Snapshot snapshots = Snapshot() From 828ae48e2c86179898713bec12483e4c80ad8389 Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Sun, 17 Oct 2021 08:46:49 +0600 Subject: [PATCH 06/10] remove more python to codes --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index eff9d026..08712129 100755 --- a/setup.py +++ b/setup.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -from __future__ import print_function +#!/usr/bin/env python3 import os import re From 4a07359f11864f40ca82173e55e9f0aa78da57ca Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Wed, 20 Oct 2021 13:24:48 +0600 Subject: [PATCH 07/10] revert a wrong change --- rest_framework_json_api/relations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework_json_api/relations.py b/rest_framework_json_api/relations.py index b57c308c..f6e91cfe 100644 --- a/rest_framework_json_api/relations.py +++ b/rest_framework_json_api/relations.py @@ -359,7 +359,7 @@ def to_internal_value(self, data): received_type=data["type"], ) - return super().to_internal_value(data["id"]) + return super(ResourceRelatedField, self).to_internal_value(data["id"]) class SerializerMethodFieldBase(Field): From 5828dfdc7bfe9f663a1fb1855eb7d121061a9472 Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Wed, 20 Oct 2021 13:38:25 +0600 Subject: [PATCH 08/10] black --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 6b13ce60..9038cd2b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# +# # # Django REST framework JSON:API documentation build configuration file, created by # sphinx-quickstart on Fri Jul 24 23:31:15 2015. From cd0746b4fcf69a7404cf7e84df43c0ff61337ece Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Wed, 20 Oct 2021 13:43:14 +0600 Subject: [PATCH 09/10] removepython2 super call --- example/tests/unit/test_filter_schema_params.py | 2 +- example/tests/unit/test_renderer_class_methods.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/example/tests/unit/test_filter_schema_params.py b/example/tests/unit/test_filter_schema_params.py index 9c78dc61..f50304ac 100644 --- a/example/tests/unit/test_filter_schema_params.py +++ b/example/tests/unit/test_filter_schema_params.py @@ -22,7 +22,7 @@ class DummyEntryViewSet(EntryViewSet): def __init__(self, **kwargs): # dummy up self.request since PreloadIncludesMixin expects it to be defined self.request = None - super(DummyEntryViewSet, self).__init__(**kwargs) + super().__init__(**kwargs) def test_filters_get_schema_params(): diff --git a/example/tests/unit/test_renderer_class_methods.py b/example/tests/unit/test_renderer_class_methods.py index 51cc2481..6e7c9ea1 100644 --- a/example/tests/unit/test_renderer_class_methods.py +++ b/example/tests/unit/test_renderer_class_methods.py @@ -70,14 +70,12 @@ class CustomRenderer(JSONRenderer): @classmethod def extract_attributes(cls, fields, resource): cls.extract_attributes_was_overriden = True - return super(CustomRenderer, cls).extract_attributes(fields, resource) + return super().extract_attributes(fields, resource) @classmethod def extract_relationships(cls, fields, resource, resource_instance): cls.extract_relationships_was_overriden = True - return super(CustomRenderer, cls).extract_relationships( - fields, resource, resource_instance - ) + return super().extract_relationships(fields, resource, resource_instance) assert ( CustomRenderer.build_json_resource_obj( From cc6cd010a564beb66540ba1863b9a66c14ea45f4 Mon Sep 17 00:00:00 2001 From: Asif Saif Uddin Date: Wed, 20 Oct 2021 13:45:07 +0600 Subject: [PATCH 10/10] remove last python2 code --- example/tests/unit/test_serializer_method_field.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/example/tests/unit/test_serializer_method_field.py b/example/tests/unit/test_serializer_method_field.py index 37e74ce6..1be56f47 100644 --- a/example/tests/unit/test_serializer_method_field.py +++ b/example/tests/unit/test_serializer_method_field.py @@ -1,5 +1,3 @@ -from __future__ import absolute_import - from rest_framework import serializers from rest_framework_json_api.relations import SerializerMethodResourceRelatedField