packages: irssi-scripts/irssi-scripts.spec, irssi-scripts/forwardfix.pl (NE...
arekm
arekm at pld-linux.org
Sat Jul 25 23:06:35 CEST 2009
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 => 'agaran at pld-linux.org',
+ 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
More information about the pld-cvs-commit
mailing list