fixed A & K to be right way round

allow ~ in message lines
started message forwarding table code
This commit is contained in:
djk 1999-02-15 13:17:32 +00:00
parent 295091c601
commit 093ac03207
8 changed files with 41 additions and 18 deletions

View File

@ -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
View 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);

View File

@ -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
View File

View 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
{

View File

@ -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;
}

View File

@ -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) . "^~";
}