I recently had a need to generate screen-names for a bunch of test users. I remembered the wonderful Wu-name generator and it was too tempting to pass up.
import urllib
from lxml.html import fromstring
def get_wu_name(first_name, last_name):
"""
>>> get_wu_name("Jeff", "Elmore")
'Ultra-Chronic Monstah'
"""
w = urllib.urlopen("http://www.recordstore.com/wuname/wuname.pl",
urllib.urlencode({'fname':first_name, 'sname': last_name}))
doc = fromstring(w.read())
return [d for d in doc.iter('span') if d.get('class') == 'newname'][0].text
Okay, technically it’s more than six if you count the docstring and linewrap but still. Also, I felt like there should be a better way to do the last line, but this works well enough.