11import re
22
33def 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
5353if __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