fix RBN (and other) basecall issues
[spider.git] / perl / DXUtil.pm
index 6d115a7b6273540810e42bdb8ea6c1728951c153..7067c359d54892bbf7c935fc6fa67ecd43f107de 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;
+}