From 77f8a1dd38b00958dbd0108ff2fb453bcab1c494 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Fri, 15 May 2015 19:49:15 -0500 Subject: [PATCH] Babelfish stopped working a long time ago. deleted --- ircbot/modules/Babelfish.py | 80 ------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 ircbot/modules/Babelfish.py diff --git a/ircbot/modules/Babelfish.py b/ircbot/modules/Babelfish.py deleted file mode 100644 index 9c453a3..0000000 --- a/ircbot/modules/Babelfish.py +++ /dev/null @@ -1,80 +0,0 @@ -""" -Babelfish - go out to babelfish and translate sentences -Copyright (C) 2012 Brian S. Stephan - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -""" - -import re -import urllib2 -from urllib import urlencode - -from Module import Module - -class Babelfish(Module): - - """Class that translates text via Babelfish. - - http://babelfish.yahoo.com/ - """ - - def do(self, connection, event, nick, userhost, what, admin_unlocked): - """Handle IRC input.""" - - match = re.search('^!translate\s+(\S+)\s+(\S+)\s+(.*)$', what) - if match: - fromlang = match.group(1) - tolang = match.group(2) - text = match.group(3) - - return self.irc.reply(event, self.translate(fromlang, tolang, text)) - - def translate(self, fromlang, tolang, text): - - """Translate text from fromlang to tolang, assuming it's a valid pair.""" - - langpair = '%s_%s' % (fromlang, tolang) - - # do some text conversion - text = text.replace('<', '< ') # babelfish blows up on e.g. but < text> is fine - - url = 'http://babelfish.yahoo.com/translate_txt' - params = urlencode({'ei':'UTF-8', 'doit':'done', 'fr':'bf-home', 'intl':'1', 'tt':'urltext', - 'trtext':text, 'lp':langpair}) - req = urllib2.Request(url, params) - req.add_header('Accept-Charset', 'UTF-8,*;q=0.5') - res = urllib2.urlopen(req) - content = res.read() - start_idx = content.find('
') - translation = translation.replace(''', '\'') - translation = translation.replace(''', '\'') - translation = translation.replace('< ', '<') # crappy attempt at undoing the safety above - - return translation - -if __name__ == '__main__': - babelfish = Babelfish(None, None, None) - print('\'' + babelfish.translate('en', 'ja', 'i can\'t read it, there aren\'t any words there') + '\'') - -# vi:tabstop=4:expandtab:autoindent -# kate: indent-mode python;indent-width 4;replace-tabs on;