EXTENSIVE user file and route cleanup, see Changes
[spider.git] / perl / DXUtil.pm
index 96f0cb83af1b1e9ae1c3345356bed26a9e0c104e..51272d743420eea029be9a8d0b9e04bc77e029a1 100644 (file)
@@ -565,8 +565,11 @@ sub difft
                }
        }
        return '-(ve)' if $t < 0;
-       my ($d,$h,$m,$s);
+       my ($y,$d,$h,$m,$s);
        my $out = '';
+       $y = int $t / (86400*365);
+       $out .= sprintf ("%s${y}y", $adds?' ':'') if $y;
+       $t -= $y * 86400 * 365;
        $d = int $t / 86400;
        $out .= sprintf ("%s${d}d", $adds?' ':'') if $d;
        $t -= $d * 86400;
@@ -599,16 +602,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 ($c, $ssid) = $_[0] =~ m|^((?:[\w\d]+/)?[\d\w]+(?:/[\w\d]+)*)(?:-(\d+))?(?:-\#)?$|;
        my $ncall = $c;
        $ssid += 0;
        $ncall .= "-$ssid" if $ssid;
        return $ncall;
-       
 }