X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUtil.pm;h=8beb7e51e756f44270b0ddf3cfcbbf4f53792f99;hb=4dfc1f60733b682dc1ac9724fd75395d1c41c62d;hp=b04cf4905d87435c37e50568c99d48014450264c;hpb=bd8b8aa6d37a7dde70d093c5552c29f519ac9613;p=spider.git diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index b04cf490..8beb7e51 100644 --- a/perl/DXUtil.pm +++ b/perl/DXUtil.pm @@ -27,7 +27,7 @@ require Exporter; print_all_fields cltounix unpad is_callsign is_latlong is_qra is_freq is_digits is_pctext is_pcflag insertitem deleteitem is_prefix dd is_ipaddr $pi $d2r $r2d localdata localdata_mv - diffms _diffms _diffus difft parraydifft is_ztime + diffms _diffms _diffus difft parraydifft is_ztime basecall ); @@ -280,6 +280,7 @@ sub shellregex { my $in = shift; $in =~ s{(.)} { $patmap{$1} || "\Q$1" }ge; + $in =~ s|\\/|/|g; return '^' . $in . "\$"; } @@ -478,19 +479,20 @@ sub deleteitem sub localdata { my $ifn = shift; - my $ofn = "$main::local_data/$ifn"; - my $tfn; + my $lfn = "$main::local_data/$ifn"; + my $dfn = "$main::data/$ifn"; if (-e "$main::local_data") { - $tfn = "$main::data/$ifn"; - if ((-e $tfn) && (-e $ofn)) { - $ofn = $tfn if -M $ofn < -M $tfn; + if ((-e $dfn) && (-e $lfn)) { + $lfn = $dfn if -M $dfn < -M $lfn; } else { - $ofn = $tfn if -e $tfn; + $lfn = $dfn if -e $dfn; } + } else { + $lfn = $dfn; } - return $ofn; + return $lfn; } # move a file or a directory from data -> local_data if isn't there already @@ -549,7 +551,7 @@ sub difft if (ref $b eq 'ARRAY') { $t = $b->[1] - $b->[0]; } else { - if ($adds && $adds >= $b) { + if ($adds && $adds =~ /^\d+$/ && $adds >= $b) { $t = $adds - $b; $adds = shift; } else { @@ -588,3 +590,9 @@ sub parraydifft $out =~ s/,\s*$//; return $out; } + +sub basecall +{ + my ($r) = $_[0] =~ m|^(?:[\w\d]+/)?([\w\d]+).*$|; + return $r; +}