Author: arekm                        Date: Sat Jul 25 21:06:35 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- maintain forwardfix inside of pld cvs

---- Files affected:
packages/irssi-scripts:
   irssi-scripts.spec (1.48 -> 1.49) , forwardfix.pl (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/irssi-scripts/irssi-scripts.spec
diff -u packages/irssi-scripts/irssi-scripts.spec:1.48 
packages/irssi-scripts/irssi-scripts.spec:1.49
--- packages/irssi-scripts/irssi-scripts.spec:1.48      Sat Jul 25 23:05:03 2009
+++ packages/irssi-scripts/irssi-scripts.spec   Sat Jul 25 23:06:30 2009
@@ -29,7 +29,7 @@
 # Source8-md5: e50707d22a9338df6fb9b39dcdefb7e2
 Source9:       http://www.irssi.org/scripts/scripts/tab_stop.pl
 # Source9-md5: ffa8d8381c41521365cacf9b1bb13951
-Source10:      http://netx.waw.pl/~agaran/forwardfix.pl
+Source10:      forwardfix.pl
 # Source10-md5:        8bf85f7368933a4e0cb4f875bac28733
 Source11:      http://entermedia.pl/~shadzik/vtk/vtk.pl
 # Source11-md5:        9e34c85f1084afaa71590bc544dd4e76
@@ -236,7 +236,6 @@
 Summary(pl.UTF-8):     Skrypt forwardfix
 Version:       20060902
 Group:         Applications/Communications
-URL:           http://www.netx.waw.pl/~agaran/
 Requires:      irssi
 
 %description -n irssi-script-forwardfix
@@ -620,6 +619,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.49  2009/07/25 21:06:30  arekm
+- maintain forwardfix inside of pld cvs
+
 Revision 1.48  2009/07/25 21:05:03  glen
 - add gtrans.pl
 

================================================================
Index: packages/irssi-scripts/forwardfix.pl
diff -u /dev/null packages/irssi-scripts/forwardfix.pl:1.1
--- /dev/null   Sat Jul 25 23:06:36 2009
+++ packages/irssi-scripts/forwardfix.pl        Sat Jul 25 23:06:30 2009
@@ -0,0 +1,181 @@
+# This script is possibly buggy, but i haven't got much time
+# to test it. Use at your own risk.
+# a g a r a n   a t   p l d   d a s h   l i n u x   d o t   o r g
+
+
+use strict;
+use Irssi;
+use vars qw($VERSION %IRSSI);
+
+$VERSION = '0.01';
+
+%IRSSI = (
+               authors => 'Maciej \'agaran\' Pijanka',
+               contact => '[email protected]',
+               name => 'forwardfix',
+               description => 'hides crossnetwork channel joining',
+               license => 'GPL',
+               url => 'http://netx.waw.pl/~agaran/forwardfix.pl'
+);
+
+#### Interface ###
+#
+#
+#
+
+# /upgrade_ffix
+# dont do it, may harm your childrens, blow your drives and so on
+
+# VARIABLES
+# =========
+
+Irssi::settings_add_str("forward", 
"forward_chanset","#pld:abw,#pldhelp:abw,#pldlivecd:abw");
+Irssi::settings_add_str("forward", 
"forward_netmap","IRCnet:IN,FreeNode:FN,PLDNet:PN");
+Irssi::settings_add_bool("forward","forward_dash",1);
+Irssi::settings_add_int("forward", "forward_transmod",0);
+Irssi::settings_add_bool("forward","forward_addnet",1);
+Irssi::settings_add_str("forward", "forward_sep",'$');
+
+Irssi::print("Its, beta, dont rely on it \nif something like forwardfix-debug: 
[something]\nhappens, please let me know");
+Irssi::print("-- agaran (20060902-2050) ");
+
+our %crude_hack = ();
+
+Irssi::signal_add "event privmsg", sub {
+       my ($server, $data, $nick, $address) = @_;
+       my ($target, $text) = split(/ :/, $data, 2);
+       my ($fwd,$p,$q,$fn);
+       my ($chanset,$netmap,$fn) = ({},{},'');
+       my $transmod = Irssi::settings_get_int("forward_transmod");
+       my $addnet = Irssi::settings_get_bool("forward_addnet");
+       my $sep = Irssi::settings_get_str("forward_sep");
+       my $dash = Irssi::settings_get_bool("forward_dash");
+       my $targetl = lc $target;
+
+       map { split /:/,$_; $chanset->{lc $_[0]} = lc $_[1]; } split /[ 
,]+/,Irssi::settings_get_str("forward_chanset");
+       map { split /:/,$_; $netmap->{lc $_[0]} = $_[1]; } split /[ 
,]+/,Irssi::settings_get_str("forward_netmap");
+
+       my $now = time(); # yep compute foreach net, just to scope var
+       foreach my $n (keys %crude_hack) {
+               foreach my $m (keys %{$crude_hack{$n}}) {
+                       delete $crude_hack{$n}{$m} if($crude_hack{$n}{$m} + 30 
< $now);
+               }
+       }
+
+       if (defined $chanset->{$targetl} && (lc $nick eq $chanset->{$targetl} 
|| ($dash && lc $nick eq $chanset->{$targetl}.'-' ))) {
+               if($text =~ /^\(?([a-zA-Z\-_0-9\`\^|]+)?\@([A-Z]+)\) (.*)$/) 
{ # maska maska maska
+                       ($nick,$fwd,$text) = ($1,$2,$3);
+                       $text .= " [$fwd]" if($addnet);
+
+                       if($transmod == 2) { # convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event privmsg", $server, 
"$target :$text", $nick.$sep.$fwd, $nick.'@'.$fwd);
+                       } else {
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event privmsg", $server, 
"$target :$text", $nick, $nick.'@'.$fwd);
+                       }
+
+               } elsif ($text =~ /^\* 
\(?([a-zA-Z\-_0-9\`\^\|]+)?\@([A-Z]+)\) (.*)$/) { 
+                       ($nick,$fwd,$text) = ($1,$2,$3);
+                       $text .= " [$fwd]" if($addnet);
+                       Irssi::signal_stop();
+                       Irssi::signal_emit("event privmsg", $server, "$target 
:ACTION $text", $nick, $nick.'@'.$fwd);
+                       
+               } elsif ($text =~ /^\*\*\* Join ([a-zA-Z\-_0-9\`\]\[\^\|]+) 
\(([a-z\/\=+\~^A-Z\[\-_0-9\^:\...@\.]+)\) on (.*)$/ ) {
+                       ($nick,$text,$fwd) = ($1,$2,$3);
+
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               delete $crude_hack{$fn}{$nick} if(defined 
$crude_hack{$fn}{$nick});
+                               Irssi::signal_emit("event join", $server, 
":$target", $nick.$sep.$fn, $text);
+                       }
+                       
+               } elsif ($text =~ /^\*\*\* Part ([a-zA-Z\-_0-9\`\]\[\^\|]+) 
\(([a-z\/\=+\~^A-Z\[\-_0-9\^:\...@\.]+)\) on (.*)$/ ) {
+                       ($nick,$text,$fwd) = ($1,$2,$3);
+                       
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+                       
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event part", $server, 
"$target :", $nick.$sep.$fn, $text);
+                       }
+
+               } elsif ($text =~ /^\*\*\* \[signoff\/#[a-zA-Z0-9\|]+\] 
([a-zA-Z\/\=\-_0-9\`\]\^|]+) \((.*)\) on (.*)$/ ) {
+
+                       ($nick,$text,$fwd) = ($1,$2,$3);
+
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+                       
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               unless(defined $crude_hack{$fn}{$nick}) {
+                                       $crude_hack{$fn}{$nick} = time();
+                                       Irssi::signal_emit("event quit", 
$server, ":$text", $nick.$sep.$fn, $nick.$sep.$fn.'@'.$fwd);
+                               }
+                       }
+                       
+               } elsif ($text =~ /^\*\*\* \[mode\/#[a-zA-Z0-9]+\(([\+\-vo]+) 
([a-zA-Z\-\+_0-9\`\^\[\]\|\ ]+)\)\] by ([a-zA-Z\.\*\-_0-9\`\^\|]+) on (.*)$/ ) {
+                       my ($ml,$or,$nl);
+                       ($ml,$nl,$or,$fwd) = ($1,$2,$3,$4);
+                       
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+
+                       $nl = join ' ',map { sprintf "%s%s%s", $_,$sep,$fn; } 
split ' ',$nl;
+               
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event mode",$server, 
"$target $ml $nl",$or.$sep.$fn,$or.'@'.$fwd);
+                       }
+                       # mody dalsze
+               } elsif ($text =~ /^\*\*\* \[mode\/#[a-zA-Z0-9]+\(([\+\-ben]+) 
([a-za-z\-\!\?...@\.\+_0-9|\^\`\ ]+)\)\] by ([a-zA-Z\-_0-9\`\^|]+) on (.*)$/ ) {
+                       my ($ml,$or,$nl);
+                       ($ml,$nl,$or,$fwd) = ($1,$2,$3,$4);
+                       
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+               
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event mode",$server, 
"$target $ml $nl",$or.$sep.$fn,$or.'@'.$fwd);
+                       }
+               } elsif ($text =~ /^\*\*\*  Nick Change: 
([a-zA-Z\-_0-9\`\]\^|]+) is now ([a-zA-Z\-_0-9\`\]\^|]+) on (.*)$/ ) {
+                       my ($n1,$n2);
+                       ($n1,$n2,$fwd) = ($1,$2,$3);
+                       
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+                       
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event nick", $server, 
':'.$n2.$sep.$fn, $n1.$sep.$fn);
+                       }
+               } elsif ($text =~ /^\*\*\* ([a-zA-Z\-_0-9\`\]\^|]+) was kicked 
off (#[a-zA-Z0-9]+) by ([a-zA-Z\-_0-9\`\]\^|]+) on ([a-zA-Z]+) \((.*)\)$/) {
+                       my ($n1,$n2,$fwd,$reason) = ($1,$3,$4,$5);
+
+                       $fn = $netmap->{lc $fwd} if(defined $netmap->{lc $fwd});
+
+                       if(($transmod == 1 || $transmod == 2) && $fn ne '') { # 
convert to quasinormal stream;
+                               Irssi::signal_stop();
+                               Irssi::signal_emit("event kick", $server, 
$target. ' '.$n1.$sep.$fn.' '.$reason, $n2.$sep.$fn, '');
+                       } 
+               } else {
+                       printf("forwardfix-debug: [$text]");
+               }
+       }
+};
+
+Irssi::command_bind "upgrade_ffix", sub {
+               my $dir = Irssi::get_irssi_dir;
+               open P,'wget -O '.$dir.'/scripts/forwardfix.pl 
http://netx.waw.pl/~agaran/forwardfix.pl 2>&1|';
+               my $q = '';
+               while (not eof P) {
+                               $q .= <P>;
+               }
+               close P;
+               $q =~ s/%7E/~/g;
+               Irssi::print($q);
+};
+
+Irssi::print("ForwardFIX Init Done");
+
+# vim: ts=4
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/irssi-scripts/irssi-scripts.spec?r1=1.48&r2=1.49&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to