#!/usr/bin/python # Written By Evilx ( evildesign@gmail.com ) import urllib,urllib2 from sys import argv from BeautifulSoup import BeautifulSoup Url = "http://babelfish.altavista.com/tr" URL_PARAM = { "doit":"done", "intl":"1", "tt":"urltext", "btnTrTxt":"Translate" } Lang = { "zh_en":"Chinese-simp to English", "zt_en":"Chinese-trad to English", "en_zh":"English to Chinese-simp", "en_zt":"English to Chinese-trad", "en_nl":"English to Dutch", "en_fr":"English to French", "en_de":"English to German", "en_el":"English to Greek", "en_it":"English to Italian", "en_ja":"English to Japanese", "en_ko":"English to Korean", "en_pt":"English to Portuguese", "en_ru":"English to Russian", "en_es":"English to Spanish", "nl_en":"Dutch to English", "nl_fr":"Dutch to French", "fr_en":"French to English", "fr_de":"French to German", "fr_el":"French to Greek", "fr_it":"French to Italian", "fr_pt":"French to Portuguese", "fr_nl":"French to Dutch", "fr_es":"French to Spanish", "de_en":"German to English", "de_fr":"German to French", "el_en":"Greek to English", "el_fr":"Greek to French", "it_en":"Italian to English", "it_fr":"Italian to French", "ja_en":"Japanese to English", "ko_en":"Korean to English", "pt_en":"Portuguese to English", "pt_fr":"Portuguese to French", "ru_en":"Russian to English", "es_en":"Spanish to English", "es_fr":"Spanish to French" } def Usage() : print '''btrans -h , --help\tDisplay This Message -l , --lang\t\tShow Languages ''' def Language() : print "\t " for key in Lang : print ( " %s\t -\t%s" % ( key, Lang[key] ) ) if len( argv ) == 1 : Usage() elif argv[ 1 ] == '-l' or argv[ 1 ] == '--lang' : Language() elif argv[ 1 ] == '-h' or argv[ 1 ] == '--help' : Usage() elif len( argv ) == 3 : if argv[ 1 ] in Lang: URL_PARAM[ 'lp'] = argv[ 1 ] URL_PARAM[ ' trtext' ] = argv[ 2 ] PARAM_ENCODE = urllib.urlencode( URL_PARAM ) uReq = urllib2.Request( Url, PARAM_ENCODE ) uResponse = urllib2.urlopen( uReq ) Data = uResponse.read() print BeautifulSoup( Data ).findAll( 'div', text=True )[72] else: print "Incorrent Language\n" Usage()