Move to_const function from Graphene into Graphene-Django (#992)

This commit is contained in:
Jonathan Kim 2020-06-25 15:11:18 +01:00 committed by GitHub
parent 3026181b28
commit 1bec8e44b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 1 deletions

View File

@ -20,13 +20,14 @@ from graphene import (
Time,
)
from graphene.types.json import JSONString
from graphene.utils.str_converters import to_camel_case, to_const
from graphene.utils.str_converters import to_camel_case
from graphql import assert_valid_name
from .settings import graphene_settings
from .compat import ArrayField, HStoreField, JSONField, RangeField
from .fields import DjangoListField, DjangoConnectionField
from .utils import import_single_dispatch
from .utils.str_converters import to_const
singledispatch = import_single_dispatch()

View File

@ -0,0 +1,6 @@
import re
from unidecode import unidecode
def to_const(string):
return re.sub(r"[\W|^]+", "_", unidecode(string)).upper()

View File

View File

@ -0,0 +1,10 @@
# coding: utf-8
from ..str_converters import to_const
def test_to_const():
assert to_const('snakes $1. on a "#plane') == "SNAKES_1_ON_A_PLANE"
def test_to_const_unicode():
assert to_const(u"Skoða þetta unicode stöff") == "SKODA_THETTA_UNICODE_STOFF"

View File

@ -66,6 +66,7 @@ setup(
"Django>=1.11",
"singledispatch>=3.4.0.3",
"promise>=2.1",
"unidecode>=1.1.1,<2",
],
setup_requires=["pytest-runner"],
tests_require=tests_require,