#!/usr/bin/python # Written By Evilx ( evildesign@gmail.com ) # This Script Convert Text from one Language # To another using altavista.com Babelfish 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 UsageDisplay() : print '''btrans -h , --help\tDisplay This Message -l , --lang\tShow Languages ''' def LanguageDisplay() : print "\t " for key in sorted( Lang ) : print ( " %s\t -\t%s" % ( key, Lang[key] ) ) def ConvertText(Lang, TextStr) : URL_PARAM[ 'lp'] = Lang URL_PARAM[ ' trtext' ] = TextStr PARAM_ENCODE = urllib.urlencode( URL_PARAM ) uReq = urllib2.Request( Url, PARAM_ENCODE ) uReq.add_header('User-agent', 'Mozilla/5.0') uResponse = urllib2.urlopen( uReq ) Data = uResponse.read() uResponse.close() StrTrans = BeautifulSoup( Data ).findAll( 'div', text=True ) return StrTrans[72] if __name__ == '__main__' : if len( argv ) == 1 : UsageDisplay() elif argv[ 1 ] == '-l' or argv[ 1 ] == '--lang' : LanguageDisplay() elif argv[ 1 ] == '-h' or argv[ 1 ] == '--help' : UsageDisplay() elif len( argv ) == 3 : if argv[ 1 ] in Lang : print ConvertText( argv[ 1 ], argv[ 2 ] ) else: print "%s : Incorrent Language\n" % ( argv[1] ) UsageDisplay() else : UsageDisplay()