tidy up for running with 'showdx' a bit more.
[spider.git] / cmd / show / dx.pl
index ddc29bbab419a1f513c3b84f8f40cf9e52214a26..0728c650dbd20918d580788d91f0bcd52fa9c537 100644 (file)
@@ -86,7 +86,7 @@ while ($f = shift @list) {            # next field
                next;
        }
        if (lc $f =~ /^filt/) {
-               $dofilter = 1 if $self->spotsfilter;
+               $dofilter = 1 if $self && $self->spotsfilter;
                next;
        }
        if (lc $f eq 'qsl') {
@@ -314,7 +314,11 @@ if ($state) {
                push @expr, "\$f12 eq '$_'";
                push @hint, "m{$_}";
        }
-       $expr .= @expr > 1 ? '($f12 && (' . join(' || ', @expr) . '))' : "(\$f12 && $expr[0])";
+       if ($main::dbh) {
+               $expr .= @expr > 1 ? '(' . join(' || ', @expr) . ')' : "$expr[0]";
+       } else {
+               $expr .= @expr > 1 ? '(\$f12 && (' . join(' || ', @expr) . '))' : "(\$f12 && $expr[0])";
+       }
        $hint .= @hint > 1 ? '(' . join(' || ', @hint) . ')' : $hint[0];
 }
 if ($bystate) {
@@ -326,7 +330,11 @@ if ($bystate) {
                push @expr, "\$f13 eq '$_'";
                push @hint, "m{$_}";
        }
-       $expr .= @expr > 1 ? '($f13 && (' . join(' || ', @expr) . '))' : "(\$f13 && $expr[0])";
+       if ($main::dbh) {
+               $expr .= @expr > 1 ? '(' . join(' || ', @expr) . ')' : "$expr[0]";
+       } else {
+               $expr .= @expr > 1 ? '(\$f13 && (' . join(' || ', @expr) . '))' : "(\$f13 && $expr[0])";
+       }
        $hint .= @hint > 1 ? '(' . join(' || ', @hint) . ')' : $hint[0];
 }
 
@@ -361,11 +369,11 @@ my @res = Spot::search($expr, $fromday, $today, $from, $to, $hint, $dofilter ? $
 my $ref;
 my @dx;
 foreach $ref (@res) {
-       if ($self->ve7cc) {
+       if ($self && $self->ve7cc) {
                push @out, VE7CC::dx_spot($self, @$ref);
        } else {
-               if ($real) {
-                       push @out, $self->format_dx_spot(@$ref);
+               if ($self && $real) {
+                       push @out, DXCommandmode::format_dx_spot($self, @$ref);
                } else {
                        push @out, Spot::formatl(@$ref);
                }