Guest User

Untitled

a guest
Oct 22nd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.03 KB | None | 0 0
  1. nobiliary_particle = set((
  2.     'v',
  3.     'von',
  4.     'van',
  5.     'de',
  6.     'di',
  7.     'zu',
  8.     'of',
  9.     'tot',
  10.     'thoe',
  11.     'af',
  12.     'av',
  13.     'na',
  14. ))
  15.  
  16. def unhyphenate_first(f):
  17.     if '-' not in f:
  18.         return f
  19.     return f if '-' not in f else ' '.join(map(str.capitalize, f.split('-')))
  20.  
  21. def get_formal_and_friendly_for_user(u):
  22.     if not '.' in u:
  23.         return (u.capitalize(),) * 2
  24.  
  25.     parts = u.split('.')
  26.     if len(parts) == 2:
  27.         (first, last) = map(str.capitalize, parts)
  28.         first = unhyphenate_first(first)
  29.         return (first + ' ' + last, first)
  30.  
  31.     if len(parts) == 3:
  32.         (first, last) = map(str.capitalize, (parts[0], parts[2]))
  33.         middle = parts[1]
  34.         if not middle in nobiliary_particle:
  35.             middle = middle.capitalize()
  36.  
  37.         first = unhyphenate_first(first)
  38.         return (' '.join((first, middle, last)), first)
  39.  
  40.     parts = map(str.capitalize, parts)
  41.     first = unhyphenate_first(parts[0])
  42.     return (' '.join([first,] + parts[1:]), first)
Add Comment
Please, Sign In to add comment