From 8356fccbdb318d91a6d0486c3528244aeb463269 Mon Sep 17 00:00:00 2001 From: Tomasz Kontusz Date: Mon, 16 Sep 2019 06:04:34 +0200 Subject: [PATCH] Import singledispatch straight from functools --- graphene_django/converter.py | 4 +--- graphene_django/forms/converter.py | 5 +--- .../rest_framework/serializer_converter.py | 3 +-- graphene_django/utils/__init__.py | 2 -- graphene_django/utils/utils.py | 23 ------------------- setup.py | 1 - 6 files changed, 3 insertions(+), 35 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 442f27f..897acc7 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -1,6 +1,7 @@ from django.db import models from django.utils.encoding import force_text from django.utils.functional import Promise +from functools import singledispatch from graphene import ( ID, @@ -25,9 +26,6 @@ from graphql.pyutils import register_description from .compat import ArrayField, HStoreField, JSONField, RangeField from .fields import DjangoListField, DjangoConnectionField -from .utils import import_single_dispatch - -singledispatch = import_single_dispatch() def convert_choice_name(name): diff --git a/graphene_django/forms/converter.py b/graphene_django/forms/converter.py index 8916456..c912685 100644 --- a/graphene_django/forms/converter.py +++ b/graphene_django/forms/converter.py @@ -1,13 +1,10 @@ from django import forms from django.core.exceptions import ImproperlyConfigured +from functools import singledispatch from graphene import ID, Boolean, Float, Int, List, String, UUID, Date, DateTime, Time from .forms import GlobalIDFormField, GlobalIDMultipleChoiceField -from ..utils import import_single_dispatch - - -singledispatch = import_single_dispatch() @singledispatch diff --git a/graphene_django/rest_framework/serializer_converter.py b/graphene_django/rest_framework/serializer_converter.py index 5ac56c9..c229522 100644 --- a/graphene_django/rest_framework/serializer_converter.py +++ b/graphene_django/rest_framework/serializer_converter.py @@ -1,13 +1,12 @@ from django.core.exceptions import ImproperlyConfigured from rest_framework import serializers +from functools import singledispatch import graphene from ..registry import get_global_registry -from ..utils import import_single_dispatch from .types import DictType -singledispatch = import_single_dispatch() @singledispatch def get_graphene_type_from_serializer_field(field): diff --git a/graphene_django/utils/__init__.py b/graphene_django/utils/__init__.py index 9d8658b..671b060 100644 --- a/graphene_django/utils/__init__.py +++ b/graphene_django/utils/__init__.py @@ -4,7 +4,6 @@ from .utils import ( camelize, get_model_fields, get_reverse_fields, - import_single_dispatch, is_valid_django_model, maybe_queryset, ) @@ -16,6 +15,5 @@ __all__ = [ "get_model_fields", "camelize", "is_valid_django_model", - "import_single_dispatch", "GraphQLTestCase", ] diff --git a/graphene_django/utils/utils.py b/graphene_django/utils/utils.py index 47c0c37..49b4c4f 100644 --- a/graphene_django/utils/utils.py +++ b/graphene_django/utils/utils.py @@ -77,26 +77,3 @@ def get_model_fields(model): def is_valid_django_model(model): return inspect.isclass(model) and issubclass(model, models.Model) - - -def import_single_dispatch(): - try: - from functools import singledispatch - except ImportError: - singledispatch = None - - if not singledispatch: - try: - from singledispatch import singledispatch - except ImportError: - pass - - if not singledispatch: - raise Exception( - "It seems your python version does not include " - "functools.singledispatch. Please install the 'singledispatch' " - "package. More information here: " - "https://pypi.python.org/pypi/singledispatch" - ) - - return singledispatch diff --git a/setup.py b/setup.py index ef7cc8d..b6a2209 100644 --- a/setup.py +++ b/setup.py @@ -57,7 +57,6 @@ setup( "graphene>=3.0.dev,<4", "graphql-core>=3.0.0b0,<4", "Django>=1.11", - "singledispatch>=3.4.0.3", "promise>=2.1", ], setup_requires=["pytest-runner"],