From 5abcec44418bea96c489b2bd13d9e6af9bcea2c9 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Mon, 14 Jan 2019 20:50:52 +0000 Subject: [PATCH] Added a bit of name normalization for test factory person names. - Legacy-Id: 15888 --- ietf/person/factories.py | 4 ++-- ietf/person/name.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ietf/person/factories.py b/ietf/person/factories.py index 89b16e8b5..627c9ed6a 100644 --- a/ietf/person/factories.py +++ b/ietf/person/factories.py @@ -17,7 +17,7 @@ from django.utils.text import slugify import debug # pyflakes:ignore from ietf.person.models import Person, Alias, Email -from ietf.person.name import unidecode_name +from ietf.person.name import normalize_name, unidecode_name fake = faker.Factory.create() @@ -53,7 +53,7 @@ class PersonFactory(factory.DjangoModelFactory): model = Person user = factory.SubFactory(UserFactory) - name = factory.LazyAttribute(lambda p: u'%s %s'%(p.user.first_name,p.user.last_name)) + name = factory.LazyAttribute(lambda p: normalize_name(u'%s %s'%(p.user.first_name, p.user.last_name))) ascii = factory.LazyAttribute(lambda p: unicode(unidecode_name(p.name))) class Params: diff --git a/ietf/person/name.py b/ietf/person/name.py index c8e26df42..4c16256a5 100644 --- a/ietf/person/name.py +++ b/ietf/person/name.py @@ -119,6 +119,12 @@ def unidecode_name(uname): name = re.sub(' +', ' ', name) return name +def normalize_name(s): + # There is probably more to be done here, but we start by normalising + # spaces: + s = re.sub(' +', ' ', s) + return s + if __name__ == "__main__": import sys name = u" ".join(sys.argv[1:])