]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: Resolve warnings with DRF >= 3.11
authorStephen Finucane <stephen@that.guru>
Wed, 8 Apr 2020 22:13:20 +0000 (23:13 +0100)
committerStephen Finucane <stephen@that.guru>
Wed, 8 Apr 2020 22:35:17 +0000 (23:35 +0100)
Signed-off-by: Stephen Finucane <stephen@that.guru>
patchwork/api/check.py

index 07d7cb9a13db0e2042e11460db6ed5cdd251944f..a6bf5f8cab89b97a7f9683917d662a4c1eea0063 100644 (file)
@@ -6,6 +6,7 @@
 from django.http import Http404
 from django.http.request import QueryDict
 from django.shortcuts import get_object_or_404
+import rest_framework
 from rest_framework.exceptions import PermissionDenied
 from rest_framework.generics import ListCreateAPIView
 from rest_framework.generics import RetrieveAPIView
@@ -22,12 +23,22 @@ from patchwork.models import Check
 from patchwork.models import Patch
 
 
-class CurrentPatchDefault(object):
-    def set_context(self, serializer_field):
-        self.patch = serializer_field.context['request'].patch
+DRF_VERSION = tuple(int(x) for x in rest_framework.__version__.split('.'))
 
-    def __call__(self):
-        return self.patch
+
+if DRF_VERSION > (3, 11):
+    class CurrentPatchDefault(object):
+        requires_context = True
+
+        def __call__(self, serializer_field):
+            return serializer_field.context['request'].patch
+else:
+    class CurrentPatchDefault(object):
+        def set_context(self, serializer_field):
+            self.patch = serializer_field.context['request'].patch
+
+        def __call__(self):
+            return self.patch
 
 
 class CheckSerializer(HyperlinkedModelSerializer):