mirror of
git://scm.dxcluster.org/scm/spider
synced 2024-09-21 07:47:10 +00:00
fixed A & K to be right way round
allow ~ in message lines started message forwarding table code
This commit is contained in:
parent
295091c601
commit
093ac03207
@ -2,7 +2,6 @@
|
||||
my $self = shift;
|
||||
my @out;
|
||||
return (0, $self->msg('e5')) if $self->priv < 9;
|
||||
do "$main::data/badmsg.pl" if -e "$main::data/badmsg.pl";
|
||||
push @out, $@ if $@;
|
||||
push @out, (DXMsg::load_badmsg());
|
||||
@out = ($self->msg('ok')) unless @out;
|
||||
return (1, @out);
|
||||
|
7
cmd/load/forward.pl
Normal file
7
cmd/load/forward.pl
Normal file
@ -0,0 +1,7 @@
|
||||
# reload the message forward file
|
||||
my $self = shift;
|
||||
my @out;
|
||||
return (0, $self->msg('e5')) if $self->priv < 9;
|
||||
push @out, (DXMsg::load_forward());
|
||||
@out = ($self->msg('ok')) unless @out;
|
||||
return (1, @out);
|
@ -28,7 +28,7 @@ while ($f = shift @f) { # next field
|
||||
|
||||
$to = 10 if !$to;
|
||||
|
||||
push @out, "Date Hour SFI K A Forecast Logger";
|
||||
push @out, "Date Hour SFI A K Forecast Logger";
|
||||
my @in = Geomag::search($from, $to, $main::systime);
|
||||
for (@in) {
|
||||
push @out, Geomag::print_item($_);
|
||||
|
0
msg/forward.pl.issue
Normal file
0
msg/forward.pl.issue
Normal file
@ -30,7 +30,7 @@ use Carp;
|
||||
|
||||
use strict;
|
||||
use vars qw(%work @msg $msgdir %valid %busy $maxage $last_clean
|
||||
@badmsg $badmsgfn);
|
||||
@badmsg $badmsgfn $forwardfn @forward);
|
||||
|
||||
%work = (); # outstanding jobs
|
||||
@msg = (); # messages we have
|
||||
@ -38,8 +38,10 @@ use vars qw(%work @msg $msgdir %valid %busy $maxage $last_clean
|
||||
$msgdir = "$main::root/msg"; # directory contain the msgs
|
||||
$maxage = 30 * 86400; # the maximum age that a message shall live for if not marked
|
||||
$last_clean = 0; # last time we did a clean
|
||||
@forward = (); # msg forward table
|
||||
|
||||
$badmsgfn = "$main::data/badmsg.pl"; # list of TO address we wont store
|
||||
$badmsgfn = "$msgdir/badmsg.pl"; # list of TO address we wont store
|
||||
$forwardfn = "$msgdir/forward.pl"; # the forwarding table
|
||||
|
||||
%valid = (
|
||||
fromnode => '9,From Node',
|
||||
@ -104,7 +106,7 @@ sub workclean
|
||||
sub process
|
||||
{
|
||||
my ($self, $line) = @_;
|
||||
my @f = split /[\^\~]/, $line;
|
||||
my @f = split /\^/, $line;
|
||||
my ($pcno) = $f[0] =~ /^PC(\d\d)/; # just get the number
|
||||
|
||||
SWITCH: {
|
||||
@ -634,8 +636,11 @@ sub init
|
||||
my @dir;
|
||||
my $ref;
|
||||
|
||||
do "$badmsgfn" if -e "$badmsgfn";
|
||||
print "$@\n" if $@;
|
||||
# load various control files
|
||||
my @in = load_badmsg();
|
||||
print "@in\n" if @in;
|
||||
@in = load_forward();
|
||||
print "@in\n" if @in;
|
||||
|
||||
# read in the directory
|
||||
opendir($dir, $msgdir) or confess "can't open $msgdir $!";
|
||||
@ -644,7 +649,7 @@ sub init
|
||||
|
||||
@msg = ();
|
||||
for (sort @dir) {
|
||||
next unless /^m\d+/o;
|
||||
next unless /^m\d+$/o;
|
||||
|
||||
$ref = read_msg_header("$msgdir/$_");
|
||||
next unless $ref;
|
||||
@ -793,6 +798,24 @@ sub dir
|
||||
$ref->to, $ref->from, cldate($ref->t), ztime($ref->t), $ref->subject;
|
||||
}
|
||||
|
||||
# load the forward table
|
||||
sub load_forward
|
||||
{
|
||||
my @out;
|
||||
do "$forwardfn" if -e "$forwardfn";
|
||||
push @out, $@ if $@;
|
||||
return @out;
|
||||
}
|
||||
|
||||
# load the bad message table
|
||||
sub load_badmsg
|
||||
{
|
||||
my @out;
|
||||
do "$badmsgfn" if -e "$badmsgfn";
|
||||
push @out, $@ if $@;
|
||||
return @out;
|
||||
}
|
||||
|
||||
no strict;
|
||||
sub AUTOLOAD
|
||||
{
|
||||
|
@ -425,7 +425,7 @@ sub normal
|
||||
return if $pcno == 27;
|
||||
|
||||
# broadcast to the eager users
|
||||
broadcast_users("WWV de $field[7] <$field[2]>: SFI=$sfi, K=$k, A=$i, $field[6]", 'wwv', $wwv );
|
||||
broadcast_users("WWV de $field[7] <$field[2]>: SFI=$sfi, A=$k, K=$i, $field[6]", 'wwv', $wwv );
|
||||
last SWITCH;
|
||||
}
|
||||
|
||||
|
@ -186,7 +186,7 @@ sub pc29
|
||||
{
|
||||
my ($fromnode, $tonode, $stream, $text) = @_;
|
||||
$text =~ s/\^/:/og; # remove ^
|
||||
$text =~ s/\~/S/og;
|
||||
# $text =~ s/\~/S/og;
|
||||
return "PC29^$fromnode^$tonode^$stream^$text^~";
|
||||
}
|
||||
|
||||
@ -235,13 +235,7 @@ sub pc35
|
||||
# send all the DX clusters I reckon are connected
|
||||
sub pc38
|
||||
{
|
||||
my @list = DXNode->get_all();
|
||||
my $list;
|
||||
my @nodes;
|
||||
|
||||
foreach $list (@list) {
|
||||
push @nodes, $list->call;
|
||||
}
|
||||
my @nodes = map { ($_->dxchan && $_->dxchan->isolate) ? () : $_->call } DXNode->get_all();
|
||||
return "PC38^" . join(',', @nodes) . "^~";
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user