Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- nobiliary_particle = set((
- 'v',
- 'von',
- 'van',
- 'de',
- 'di',
- 'zu',
- 'of',
- 'tot',
- 'thoe',
- 'af',
- 'av',
- 'na',
- ))
- def unhyphenate_first(f):
- if '-' not in f:
- return f
- return f if '-' not in f else ' '.join(map(str.capitalize, f.split('-')))
- def get_formal_and_friendly_for_user(u):
- if not '.' in u:
- return (u.capitalize(),) * 2
- parts = u.split('.')
- if len(parts) == 2:
- (first, last) = map(str.capitalize, parts)
- first = unhyphenate_first(first)
- return (first + ' ' + last, first)
- if len(parts) == 3:
- (first, last) = map(str.capitalize, (parts[0], parts[2]))
- middle = parts[1]
- if not middle in nobiliary_particle:
- middle = middle.capitalize()
- first = unhyphenate_first(first)
- return (' '.join((first, middle, last)), first)
- parts = map(str.capitalize, parts)
- first = unhyphenate_first(parts[0])
- return (' '.join([first,] + parts[1:]), first)
Add Comment
Please, Sign In to add comment