From 912cc7a7327016bf8e8e6b64f12aa52c849b00ac Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Mon, 3 Oct 2016 19:54:40 +0100 Subject: [PATCH 01/14] Added support for more fields Django phonenumber_field Duration Field --- graphene_django/converter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 9fcc3c5..96a5aef 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -56,8 +56,10 @@ def convert_django_field(field, registry=None): raise Exception( "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) - - + +from phonenumber_field.formfields import PhoneNumberField +@convert_django_field.register(models.PhoneNumberField) +@convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) @convert_django_field.register(models.EmailField) From 4a703ddcbec5d82e2474c6fea93d694f56cbb3f0 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Thu, 6 Oct 2016 20:23:41 +0100 Subject: [PATCH 02/14] Fixed not installed related error phone number Fixed not installed related error for phone number fields --- graphene_django/converter.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 96a5aef..aee61fd 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -56,9 +56,11 @@ def convert_django_field(field, registry=None): raise Exception( "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) - -from phonenumber_field.formfields import PhoneNumberField -@convert_django_field.register(models.PhoneNumberField) +try: + from phonenumber_field.formfields import PhoneNumberField + @convert_django_field.register(models.PhoneNumberField) +except ImportError as e: + print("Couldn't find phonenumber field") @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From a58d154481d39c3f626de7dea08e48feb4a25b45 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Thu, 6 Oct 2016 20:41:16 +0100 Subject: [PATCH 03/14] Update converter.py --- graphene_django/converter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index aee61fd..4e68244 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -57,9 +57,9 @@ def convert_django_field(field, registry=None): "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) try: - from phonenumber_field.formfields import PhoneNumberField - @convert_django_field.register(models.PhoneNumberField) -except ImportError as e: + from phonenumber_field.formfields import PhoneNumberField + @convert_django_field.register(models.PhoneNumberField) +except: print("Couldn't find phonenumber field") @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) From 0bf2e29b5fb6804912346ca7793519c3dd25d272 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Thu, 6 Oct 2016 20:48:57 +0100 Subject: [PATCH 04/14] Update converter.py --- graphene_django/converter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 4e68244..ada965a 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -60,7 +60,7 @@ try: from phonenumber_field.formfields import PhoneNumberField @convert_django_field.register(models.PhoneNumberField) except: - print("Couldn't find phonenumber field") + print("Couldn't find phonenumber field") @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From bdd57b4a7628c95967125432b0ccdd0475b5941a Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 16:48:58 +0100 Subject: [PATCH 05/14] Update converter.py --- graphene_django/converter.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index ada965a..46da367 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -1,5 +1,6 @@ from django.db import models from django.utils.encoding import force_text +import importlib from graphene import (ID, Boolean, Dynamic, Enum, Field, Float, Int, List, NonNull, String) @@ -56,9 +57,11 @@ def convert_django_field(field, registry=None): raise Exception( "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) -try: - from phonenumber_field.formfields import PhoneNumberField - @convert_django_field.register(models.PhoneNumberField) + + +try: + loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') + if loader is not None: @convert_django_field.register(models.PhoneNumberField); except: print("Couldn't find phonenumber field") @convert_django_field.register(models.DurationField) From 60f1fbc4798058cc3fb60f0657d84c95d6788c52 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 16:51:29 +0100 Subject: [PATCH 06/14] Update converter.py --- graphene_django/converter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 46da367..7418135 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -61,7 +61,8 @@ def convert_django_field(field, registry=None): try: loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') - if loader is not None: @convert_django_field.register(models.PhoneNumberField); + if loader is not None: + @convert_django_field.register(models.PhoneNumberField) except: print("Couldn't find phonenumber field") @convert_django_field.register(models.DurationField) From 1ae6e7692e16ccef8399e6cdaeb3cf93540f7ccf Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 16:53:57 +0100 Subject: [PATCH 07/14] Update converter.py --- graphene_django/converter.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 7418135..5754b3c 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -59,12 +59,9 @@ def convert_django_field(field, registry=None): (field, field.__class__)) -try: - loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') - if loader is not None: - @convert_django_field.register(models.PhoneNumberField) -except: - print("Couldn't find phonenumber field") +loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') +if loader is not None: + @convert_django_field.register(models.PhoneNumberField) @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From 385a2d59364f53f9246c711d7f609ca78e91ae91 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 16:56:24 +0100 Subject: [PATCH 08/14] Update converter.py --- graphene_django/converter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 5754b3c..4ca6518 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -61,7 +61,7 @@ def convert_django_field(field, registry=None): loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') if loader is not None: - @convert_django_field.register(models.PhoneNumberField) + @convert_django_field.register(models.PhoneNumberField) @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From 571ec5ccb09c7afe9c007074c40fc7953dd26f99 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:01:30 +0100 Subject: [PATCH 09/14] Update converter.py --- graphene_django/converter.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 4ca6518..89446f6 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -59,9 +59,8 @@ def convert_django_field(field, registry=None): (field, field.__class__)) -loader = importlib.find_loader('phonenumber_field.formfields.PhoneNumberField') -if loader is not None: - @convert_django_field.register(models.PhoneNumberField) + +@convert_django_field.register(try: from phonenumber_field.formfields import PhoneNumberField; PhoneNumberField; except: pass;) @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From ae5b0c1ef4c67d5c155d3c98bd3c120171e1fde0 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:08:42 +0100 Subject: [PATCH 10/14] Update converter.py --- graphene_django/converter.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 89446f6..dddd8de 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -58,9 +58,14 @@ def convert_django_field(field, registry=None): "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) +def get_extra_fields(): + try: + from phonenumber_field.formfields import PhoneNumberField + return PhoneNumberField + except: + return models.DurationField - -@convert_django_field.register(try: from phonenumber_field.formfields import PhoneNumberField; PhoneNumberField; except: pass;) +@convert_django_field.register(get_extra_fields()) @convert_django_field.register(models.DurationField) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) From 1c4f95884e4983dbf9ac8ab427d7c19679af578c Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:13:54 +0100 Subject: [PATCH 11/14] Update converter.py --- graphene_django/converter.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index dddd8de..bf57862 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -58,12 +58,22 @@ def convert_django_field(field, registry=None): "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) -def get_extra_fields(): - try: - from phonenumber_field.formfields import PhoneNumberField - return PhoneNumberField - except: - return models.DurationField +def get_phone_number_field(): + try: + from phonenumber_field.formfields import PhoneNumberField + return PhoneNumberField + except: + try: + return models.DurationField + except: + pass + return models.CharField + +def get_duration_field(): + try: + return models.DurationField + except: + return models.CharField @convert_django_field.register(get_extra_fields()) @convert_django_field.register(models.DurationField) From 6b75358008464f5f38aa77e243d9c211ff2d9786 Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:15:10 +0100 Subject: [PATCH 12/14] Update converter.py --- graphene_django/converter.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index bf57862..6b94ffb 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -1,6 +1,5 @@ from django.db import models from django.utils.encoding import force_text -import importlib from graphene import (ID, Boolean, Dynamic, Enum, Field, Float, Int, List, NonNull, String) @@ -75,8 +74,8 @@ def get_duration_field(): except: return models.CharField -@convert_django_field.register(get_extra_fields()) -@convert_django_field.register(models.DurationField) +@convert_django_field.register(get_phone_number_field()) +@convert_django_field.register(get_duration_field()) @convert_django_field.register(models.CharField) @convert_django_field.register(models.TextField) @convert_django_field.register(models.EmailField) From ab5e11897504f3b32d6e01d59832ff01fe5d548a Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:21:15 +0100 Subject: [PATCH 13/14] Update converter.py --- graphene_django/converter.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 6b94ffb..0d3fbbd 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -49,31 +49,34 @@ def convert_django_field_with_choices(field, registry=None): enum = Enum(name, list(named_choices), type=EnumWithDescriptionsType) return enum(description=field.help_text, required=not field.null) return convert_django_field(field, registry) - + @singledispatch def convert_django_field(field, registry=None): raise Exception( "Don't know how to convert the Django field %s (%s)" % (field, field.__class__)) - + + def get_phone_number_field(): - try: + try: from phonenumber_field.formfields import PhoneNumberField return PhoneNumberField - except: + except: try: return models.DurationField except: pass - return models.CharField - + return models.CharField + + def get_duration_field(): try: - return models.DurationField + return models.DurationField except: - return models.CharField + return models.CharField + @convert_django_field.register(get_phone_number_field()) @convert_django_field.register(get_duration_field()) @convert_django_field.register(models.CharField) From 711be14fcac440ef8a06a41eecdcec41787d39da Mon Sep 17 00:00:00 2001 From: Momotv45 Date: Fri, 7 Oct 2016 17:25:01 +0100 Subject: [PATCH 14/14] Update converter.py --- graphene_django/converter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index 0d3fbbd..8fe801f 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -49,7 +49,7 @@ def convert_django_field_with_choices(field, registry=None): enum = Enum(name, list(named_choices), type=EnumWithDescriptionsType) return enum(description=field.help_text, required=not field.null) return convert_django_field(field, registry) - + @singledispatch def convert_django_field(field, registry=None): @@ -76,7 +76,7 @@ def get_duration_field(): except: return models.CharField - + @convert_django_field.register(get_phone_number_field()) @convert_django_field.register(get_duration_field()) @convert_django_field.register(models.CharField)