On May 9, 2:31 am, Trent Nelson <tr...@snakebite.org> wrote: > > What are your favorites? > > I think I've posted this before, but I love my > 3-lines-if-you-ignore-the-scaffolding language translator. Not because it's > clever code -- quite the opposite, the code is dead simple -- but because it > encompasses one of the things I love about Python the most: it gets shit done. > > In [1]: from translate import * > > In [2]: translate('French', 'The quick brown fox jumped over the lazy > dog.') > Le renard brun rapide a sauté par-dessus le chien paresseux. > > In [3]: translate('German', 'The quick brown fox jumped over the lazy > dog.') > Der schnelle braune Fuchs sprang über den faulen Hund. > > In [4]: translate('Spanish', 'The quick brown fox jumped over the lazy > dog.') > El zorro marrón rápido saltó sobre el perro perezoso. > > translate.py: > > import sys > from urllib import urlopen, urlencode > from BeautifulSoup import BeautifulSoup > > url = 'http://babelfish.altavista.com/tr' > languages = { > 'French' : 'en_fr', > 'German' : 'en_de', > 'Italian' : 'en_it', > 'Spanish' : 'en_es', > 'Russian' : 'en_ru', > 'Portuguese': 'en_pt', > 'Dutch' : 'en_nl', > 'Japanese' : 'en_ja', > } > > def translate(lang, text): > kwds = { 'trtext' : text, 'lp' : languages[lang]} > soup = BeautifulSoup(urlopen(url, urlencode(kwds))) > print soup.find('div', style='padding:10px;').string > > if __name__ == '__main__': > translate(sys.argv[1], sys.argv[2])
That completely rocks! Thanks for the recipe. Raymond ---------- follow my recipes and tips on twitter: @raymondh -- http://mail.python.org/mailman/listinfo/python-list