Use unidecode to handle unicode characters in constant names

This commit is contained in:
Henry Baldursson 2019-10-04 04:18:16 +00:00 committed by Jonathan Kim
parent 55a03ba716
commit 99adb981d7
3 changed files with 7 additions and 1 deletions

View File

@ -1,4 +1,5 @@
import re import re
from unidecode import unidecode
# Adapted from this response in Stackoverflow # Adapted from this response in Stackoverflow
@ -18,4 +19,4 @@ def to_snake_case(name):
def to_const(string): def to_const(string):
return re.sub(r"[\W|^]+", "_", string).upper() # noqa return re.sub(r"[\W|^]+", "_", unidecode(string)).upper() # noqa

View File

@ -21,3 +21,7 @@ def test_camel_case():
def test_to_const(): def test_to_const():
assert to_const('snakes $1. on a "#plane') == "SNAKES_1_ON_A_PLANE" assert to_const('snakes $1. on a "#plane') == "SNAKES_1_ON_A_PLANE"
def test_to_const_unicode():
assert to_const('Skoða þetta unicode stöff') == 'SKODA_THETTA_UNICODE_STOFF'

View File

@ -86,6 +86,7 @@ setup(
"graphql-core>=3.0.0,<4", "graphql-core>=3.0.0,<4",
"graphql-relay>=3.0.0,<4", "graphql-relay>=3.0.0,<4",
"aniso8601>=6,<9", "aniso8601>=6,<9",
"unidecode>=1.1.1,<2",
], ],
tests_require=tests_require, tests_require=tests_require,
extras_require={"test": tests_require, "dev": dev_requires}, extras_require={"test": tests_require, "dev": dev_requires},