mark calls like DR4W-HB as invalid
[spider.git] / perl / DXUtil.pm
index 6d115a7b6273540810e42bdb8ea6c1728951c153..b8ff16d1b3ba50605316a2f645f85e9929e6d5a2 100644 (file)
@@ -29,6 +29,7 @@ require Exporter;
                         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 basecall
+                        normalise_call
             );
 
 
@@ -598,6 +599,15 @@ sub parraydifft
 
 sub basecall
 {
-       my ($r) = $_[0] =~ m|^(?:[\w\d]+/)?([\w\d]+).*$|;
+       my ($r) = $_[0] =~ m{^((?:[\w\d]+/)?[\w\d]+(?:/[\w\d]+)*)(?:-\d+)?(?:-\#)?$};
        return $r;
 }
+
+sub normalise_call
+{
+       my ($c, $ssid) = $_[0] =~ m|^((?:[\w\d]+/)?[\d\w]+(?:/[\w\d]+)*)(?:-(\d+))?(?:-\#)?$|;
+       my $ncall = $c;
+       $ssid += 0;
+       $ncall .= "-$ssid" if $ssid;
+       return $ncall;
+}