]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/babelfish.pl
take a few more things literally
[infobot.git] / src / Modules / babelfish.pl
index 3a2e9f019075d347f04ed30ca3c9f3de0ce62c59..e7774cc8ea16c84e4b2f198302a63d3717ee6365 100644 (file)
@@ -14,6 +14,7 @@ package babelfish;
 use strict;
 
 my $no_babelfish;
+my $url = 'http://babelfish.av.com/tr';
 
 BEGIN {
     eval "use URI::Escape";    # utility functions for encoding the
@@ -56,20 +57,18 @@ BEGIN {
 sub babelfishParam {
     return '' if $no_babelfish;
   my ($from, $to, $phrase) = @_;
-  &main::DEBUG("babelfish($from, $to, $phrase)");
+  &::DEBUG("babelfish($from, $to, $phrase)");
 
   $from = $lang_code{$from};
   $to = $lang_code{$to};
 
   my $ua = new LWP::UserAgent;
-  $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam("httpProxy"));
+  $ua->proxy('http', $::param{'httpProxy'}) if (&::IsParam('httpProxy'));
   # Let's pretend
   $ua->agent("Mozilla/5.0 " . $ua->agent);
   $ua->timeout(5);
 
-  my $req =
-    #HTTP::Request->new('POST', 'http://babelfish.altavista.com/raging/translate.dyn');
-    HTTP::Request->new('POST', 'http://babelfish.altavista.com/babelfish/tr');
+  my $req = HTTP::Request->new('POST', $url);
 
 # babelfish ignored this, but it SHOULD work
 # Accept-Charset: iso-8859-1
@@ -84,11 +83,11 @@ sub babelfishParam {
 sub translate {
     return '' if $no_babelfish;
   my ($phrase, $languagepair, $req, $ua) = @_;
-  &main::DEBUG("translate($phrase, $languagepair, $req, $ua)");
+  &::DEBUG("translate($phrase, $languagepair, $req, $ua)");
 
-  my $urltext = uri_escape($phrase);
-  $req->content("urltext=$urltext&lp=$languagepair");
-  &main::DEBUG("http://babelfish.altavista.com/babelfish/tr??urltext=$urltext&lp=$languagepair");
+  my $trtext = uri_escape($phrase);
+  $req->content("trtext=$trtext&lp=$languagepair");
+  &::DEBUG("$url??trtext=$trtext&lp=$languagepair");
 
   my $res = $ua->request($req);
   my $translated;
@@ -102,13 +101,13 @@ sub translate {
     $translated =~ s/<[^>]*>//sg;
     $translated =~ s/&nbsp;/ /sg;
     $translated =~ s/\s+/ /sg;
-    #&main::DEBUG("$translated\n===remove <attributes>\n");
+    #&::DEBUG("$translated\n===remove <attributes>\n");
 
     $translated =~ s/\s*Translate again.*//i;
-    &main::DEBUG("$translated\n===remove after 'Translate again'\n");
+    &::DEBUG("$translated\n===remove after 'Translate again'\n");
 
     $translated =~ s/[^:]*?:\s*(Help\s*)?//s;
-    &main::DEBUG("len=" . length($translated) . " $translated\n===remove to first ':', optional Help\n");
+    &::DEBUG("len=" . length($translated) . " $translated\n===remove to first ':', optional Help\n");
 
     $translated =~ s/\n/ /g;
     # FIXME: should we do unicode->iso (no. use utf8!)