projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix very long standing bug in storing and transmitting spots. The decimal
[spider.git]
/
perl
/
Filter.pm
diff --git
a/perl/Filter.pm
b/perl/Filter.pm
index 8acce7f383bdca5b235433509f94e1e4e98fcc7f..fbdb4f300fb579162fa34708504bac792f59a1a9 100644
(file)
--- a/
perl/Filter.pm
+++ b/
perl/Filter.pm
@@
-184,8
+184,6
@@
sub it
{
my $self = shift;
{
my $self = shift;
- my $hops = undef;
-
my $filter;
my @keys = sort $self->getfilkeys;
my $key;
my $filter;
my @keys = sort $self->getfilkeys;
my $key;
@@
-210,17
+208,9
@@
sub it
}
}
}
}
- # hops are done differently
- if ($self->{hops}) {
- my ($comp, $ref);
- while (($comp, $ref) = each %{$self->{hops}}) {
- my ($field, $h) = @$ref;
- if ($_[$field] =~ m{$comp}) {
- $hops = $h;
- last;
- }
- }
- }
+ # hops are done differently (simply)
+ my $hops = $self->{hops} if exists $self->{hops};
+
return ($r, $hops);
}
return ($r, $hops);
}
@@
-281,12
+271,11
@@
sub install
my $remove = shift;
my $name = uc $self->{name};
my $sort = $self->{sort};
my $remove = shift;
my $name = uc $self->{name};
my $sort = $self->{sort};
- my
($in) =
$name =~ s/^IN_//;
+ my
$in = "in" if
$name =~ s/^IN_//;
$name =~ s/.PL$//;
my $dxchan = DXChannel->get($name);
if ($dxchan) {
$name =~ s/.PL$//;
my $dxchan = DXChannel->get($name);
if ($dxchan) {
- $in = lc $in if $in;
my $n = "$in$sort" . "filter";
$dxchan->$n($remove ? undef : $self);
}
my $n = "$in$sort" . "filter";
$dxchan->$n($remove ? undef : $self);
}
@@
-369,7
+358,7
@@
sub parse
}
$filter = Filter::read_in($sort, $call, $flag);
}
$filter = Filter::read_in($sort, $call, $flag);
- $filter = Filter->new($sort, $call, $flag)
unless $filter
;
+ $filter = Filter->new($sort, $call, $flag)
if !$filter || $filter->isa('Filter::Old')
;
$ntoken++;
next;
$ntoken++;
next;
@@
-466,6
+455,13
@@
sub parse
push @t, "(\$r->[$fref->[2]]>=$1 && \$r->[$fref->[2]]<=$2)";
}
$s .= "(" . join(' || ', @t) . ")";
push @t, "(\$r->[$fref->[2]]>=$1 && \$r->[$fref->[2]]<=$2)";
}
$s .= "(" . join(' || ', @t) . ")";
+ } elsif ($fref->[1] eq 't') {
+ my @t;
+ for (@val) {
+ s/\*//g;
+ push @t, "\$r->[$fref->[2]]=~/$_/i";
+ }
+ $s .= "(" . join(' || ', @t) . ")";
} else {
confess("invalid letter $fref->[1]");
}
} else {
confess("invalid letter $fref->[1]");
}