@ISA = qw(DXChannel);
-require 5.10.1;
+use 5.10.1;
use POSIX qw(:math_h);
use DXUtil;
use Time::HiRes qw(gettimeofday tv_interval);
use Mojo::IOLoop;
-use Mojo::IOLoop::Subprocess;
+use DXSubprocess;
use Mojo::UserAgent;
use strict;
$self->{dx} = $user->wantdx;
$self->{logininfo} = $user->wantlogininfo;
$self->{ann_talk} = $user->wantann_talk;
+ $self->{wantrbn} = $user->wantrbn;
$self->{here} = 1;
$self->{prompt} = $user->prompt if $user->prompt;
$self->{lastmsgpoll} = 0;
$self->{annfilter} = Filter::read_in('ann', $call, 0)
|| Filter::read_in('ann', $nossid, 0)
|| Filter::read_in('ann', 'user_default', 0) ;
-
+ $self->{rbnfilter} = Filter::read_in('rbn', $call, 0)
+ || Filter::read_in('rbn', $nossid, 0)
+ || Filter::read_in('rbn', 'user_default', 0);
+
# clean up qra locators
my $qra = $user->qra;
$qra = undef if ($qra && !DXBearing::is_qra($qra));
if (isdbg('progress')) {
my $msecs = _diffms($t0);
my $s = "CMD: '$cmd $args' by $call ip: $self->{hostname} ${msecs}mS";
- dbg($s) if $cmd =~/(?:echo|blank)/ || isdbg('echo'); # cut down a bit on HRD and other clients' noise
+ dbg($s) if $cmd !~ /^(?:echo|blank)/ || isdbg('echo'); # cut down a bit on HRD and other clients' noise
}
} else {
dbg("cmd: $package not present") if isdbg('command');
};
#wrap the code into a subroutine inside our unique package
- my $eval = qq(package DXCommandmode::$package; use POSIX qw{:math_h}; use DXLog; use DXDebug; use DXUser; use DXUtil; our \@ISA = qw{DXCommandmode}; );
+ my $eval = qq(package DXCommandmode::$package; use 5.10.1; use POSIX qw{:math_h}; use DXLog; use DXDebug; use DXUser; use DXUtil; our \@ISA = qw{DXCommandmode}; );
if ($sub =~ m|\s*sub\s+handle\n|) {
my $loc = '';
my $clth = $self->{consort} eq 'local' ? 29 : 30;
my $comment = substr (($_[3] || ''), 0, $clth);
- $comment .= ' ' x ($clth - length($comment));
+ $comment .= ' ' x ($clth - (length($comment)));
+ if ($self->{user}->wantgrid) {
+ my $ref = DXUser::get_current($_[1]);
+ if ($ref && $ref->qra) {
+ $loc = ' ' . substr($ref->qra, 0, 4);
+ $comment = substr $comment, 0, ($clth - (length($comment)+length($loc)));
+ $comment .= $loc;
+ $loc = '';
+ }
+ }
+
if ($self->{user}->wantgrid) {
my $ref = DXUser::get_current($_[4]);
- if ($ref) {
- $loc = $ref->qra || '';
- $loc = ' ' . substr($loc, 0, 4) if $loc;
+ if ($ref && $ref->qra) {
+ $loc = ' ' . substr($ref->qra, 0, 4);
}
}
return @out;
}
- my $fc = Mojo::IOLoop::Subprocess->new;
+ my $fc = DXSubprocess->new;
# $fc->serializer(\&encode_json);
# $fc->deserializer(\&decode_json);
$fc->run(