#!/usr/bin/python import sys, os, getopt, re from log import * import VirtualBrowser def altavista_translate (from_lang, to_lang, str): URL = "http://babelfish.altavista.com/tr" BOM = '#' * 70 EOM = '#' * 70 post_dict = {} post_dict['doit'] = 'done' post_dict['tt'] = 'urltext' post_dict['urltext'] = '%s|%s|%s\n' % (BOM, str, EOM) post_dict['lp'] = '%s_%s' % (from_lang, to_lang) vb = VirtualBrowser.VirtualBrowser() (code, msg, page, headers) = vb.do_post(URL, post_dict) fp = open('/tmp/output', 'w') fp.write(page) fp.close() if code == 200: m = re.search ('%s|(.*)|%s' % (BOM, EOM), page, re.MULTILINE) if m: out = m.group(1) return out else: print "Unable to find translated data" import html2text print html2text.html2text(page) else: print "Bad error code returned from server: %d" % code import html2text print html2text.html2text(page) def test_post (): test_url = 'http://www.fiction.net/~blong/test/test.html' dict = {} dict['wow'] = 'foo' dict['far'] = 'bar' vb = VirtualBrowser.VirtualBrowser() (code, msg, page, headers) = vb.do_post(test_url, dict) import html2text print html2text.html2text(page) def usage(argv0): print "%s [--help]" % argv0 def main(argv, environ): alist, args = getopt.getopt(argv[1:], "", ["help"]) for (field, val) in alist: if field == "--help": usage (argv[0]) return print altavista_translate('en', 'it', 'I speak english') if __name__ == "__main__": main (sys.argv, os.environ)