From a10d36ba5bafd5ac97987e740c667b9c38d0a2bb Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Thu, 10 Dec 2009 11:42:58 +0100 Subject: [PATCH] babeldos magicos --- CHANGESTODO | 7 +++++++ makefile | 3 +++ place/babeldos.i | 39 +++++++++++++++++++++++++-------------- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/CHANGESTODO b/CHANGESTODO index c632db6..a462761 100644 --- a/CHANGESTODO +++ b/CHANGESTODO @@ -382,6 +382,8 @@ TWITTER ________________________________________________________________________ == OTHER MAJOR TODOS =================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- occasionally double data sets for psyc://ve.symlynx.com/~nick and nick + + provide a tuning for ACTIVE server-side PING (keepalive) ? see http://about.psyc.eu/Ping for explanations. @@ -1581,6 +1583,11 @@ ________________________________________________________________________ look at: http://freshmeat.net/projects/pyvoicechat/ dormant since 2004.. oops ++ tycho proposes /log reply of new messages should not necessarily + show automatically, in case you are connecting with a client on a + mobile phone, especially if you have permanent context subscriptions + flowing into your log nonstop. + RELAYING + net/spyc needs relaying (without parsing even), see TODO in parse_content() ? relaying doesn't work for psyc clients (xmpp: in particular) diff --git a/makefile b/makefile index 2cba28d..d0033e3 100644 --- a/makefile +++ b/makefile @@ -58,3 +58,6 @@ local/all.ls: .links: (cd world;../bin/findlinks */de/* */en/*) >$@ +exefix: + chmod +x bin/* run/* config/psyced.settings install.sh utility/multipatcher + diff --git a/place/babeldos.i b/place/babeldos.i index 6c538ae..723822e 100644 --- a/place/babeldos.i +++ b/place/babeldos.i @@ -10,13 +10,17 @@ #include #include +#include #define INHERIT_CONNECT start(); babel(); -#define CRESET start(); -inherit "net/connect"; +#define CREATE qInit(ME, 1000, 100); + +// too aggressive to connect babelfish on every reset!! +//efine CRESET start(); +inherit NET_PATH "connect"; #include #define emit binary_message @@ -26,10 +30,9 @@ volatile mixed *current; volatile string krank, buffer; start() { - qInit(ME, 1000, 100); unless (has_con || is_con) { is_con = 1; - call_out(#'connect, 0, "babelfish.altavista.com", 80); + call_out(#'connect, 0, "babelfish.yahoo.com", 80); } } @@ -37,21 +40,24 @@ escape(data) { return regreplace(data, "[^a-zA-Z0-9]", (: return sprintf("%%%x", $1[0]); :), 1); } -disconnect() { +disconnected() { + string k; + +//efine FMT "%~s
%s
%~s" +#define FMT "%~s%~s" + has_con = 0; + P0(("%O received %O bytes of buffer for %O\n", ME, sizeof(buffer), current)) switch (pointerp(current) ? current[0] : "") { - string k; case TRANSLATION: - if (sscanf(buffer, "%~s
%s
%~s", k)) { - krank = k; - } + if (sscanf(buffer, FMT, k)) krank = k; + else krank = "und es geschah ihr als sei es von der ferne"; #ifdef TRANSLATION2 babel(TRANSLATION2, current[1], current[2], krank, current[4]); break; case TRANSLATION2: - if (sscanf(buffer, "%~s
%s
%~s", k)) { - krank = k; - } + if (sscanf(buffer, FMT, k)) krank = k; + else krank = "und sie sah fern als sei es ein geschehen"; #endif ::msg(current[1], current[2], replace(krank, """, "\""), current[4]); default: @@ -103,8 +109,13 @@ babel(mode, source, mc, data, mapping vars) { buffer = ""; krank = 0; current = ({ mode, source, mc, data, vars }); - emit("GET /tr?lp=" + mode + "&urltext=" + escape(data) + " HTTP/1.1\r\n" - "Host: babelfish.altavista.com\r\n\r\n"); + // old API +// emit("GET /tr?lp=" + mode + "&urltext=" + escape(data) + " HTTP/1.1\r\n" +// "Host: babelfish.altavista.com\r\n\r\n"); + // new API + emit("GET /translate_txt?ei=UTF-8&doit=done&fr=bf-res&intl=1&lp="+ + mode +"&tt=urltext&trtext="+ + escape(data) +" HTTP/1.1\r\nHost: babelfish.yahoo.com\r\n\r\n"); } msg(source, mc, data, mapping vars) {