Skip to content

Commit 9a3996a

Browse files
committed
Make sure that name_parts doesn't accidentally turn Unicode strings
into plain strings - Legacy-Id: 12146
1 parent e864abd commit 9a3996a

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

ietf/person/name.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import re
22

33
def name_parts(name):
4-
prefix, first, middle, last, suffix = "", "", "", "", ""
4+
prefix, first, middle, last, suffix = u"", u"", u"", u"", u""
55

66
if not name.strip():
77
return prefix, first, middle, last, suffix
88

99
# if we got a name on the form "Some Name (Foo Bar)", get rid of
1010
# the paranthesized part
11-
name_with_paren_match = re.search("^([^(]+)\s*\(.*\)$", name)
11+
name_with_paren_match = re.search(r"^([^(]+)\s*\(.*\)$", name)
1212
if name_with_paren_match:
1313
name = name_with_paren_match.group(1)
1414

@@ -24,8 +24,8 @@ def name_parts(name):
2424
suffix = parts[-1]
2525
parts = parts[:-1]
2626
if len(parts) > 2:
27-
name = " ".join(parts)
28-
compound = re.search(" (de|hadi|van|ver|von|el|le|st\.?) ", name.lower())
27+
name = u" ".join(parts)
28+
compound = re.search(r" (de|hadi|van|ver|von|el|le|st\.?) ", name.lower())
2929
if compound:
3030
pos = compound.start()
3131
parts = name[:pos].split() + [name[pos+1:]]
@@ -35,7 +35,7 @@ def name_parts(name):
3535
# Handle reverse-order names with uppercase surname correctly
3636
if re.search("^[A-Z-]+$", first):
3737
first, last = last, first
38-
middle = " ".join(parts[1:-1])
38+
middle = u" ".join(parts[1:-1])
3939
elif len(parts) == 2:
4040
first, last = parts
4141
else:
@@ -46,13 +46,13 @@ def initials(name):
4646
prefix, first, middle, last, suffix = name_parts(name)
4747
given = first
4848
if middle:
49-
given += " "+middle
50-
initials = " ".join([ n[0]+'.' for n in given.split() ])
49+
given += u" "+middle
50+
initials = u" ".join([ n[0]+'.' for n in given.split() ])
5151
return initials
5252

5353
if __name__ == "__main__":
5454
import sys
55-
name = " ".join(sys.argv[1:])
55+
name = u" ".join(sys.argv[1:])
5656
print name_parts(name)
5757
print initials(name)
5858

0 commit comments

Comments
 (0)