Changeset 287 for obsdata/trunk


Ignore:
Timestamp:
11/11/06 22:21:54 (18 years ago)
Author:
nanardon
Message:
  • make filename match case unsensitive
  • extract file from archive to be able to perform stat() on it
  • return annee2 aka year on 2 digit
Location:
obsdata/trunk/ourplugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • obsdata/trunk/ourplugins/cr_radiosondage_tvd.pl

    r256 r287  
    6262    my ($rda, $plugintype, $datafile, $datatype) = @_; 
    6363 
    64     $datafile =~ /\d\d_\d{4}\.ret$/ or return; 
     64    $datafile =~ /\d\d_\d{4}\.ret$/i or return; 
    6565 
    6666    my $archive = $rda->archive() or do { 
     
    7171    }; 
    7272 
    73     my $filename = $archive->extract() or do { 
     73    my $filename = $archive->extract($datafile) or do { 
    7474        $rda->logging(4, 
    7575            "Can't get temporary file: %s", 
  • obsdata/trunk/ourplugins/ddu_trans.pl

    r284 r287  
    55use strict; 
    66 
     7sub ext_ar { 
     8    my ($rda, $datafile) = @_; 
     9    my $archive = $rda->archive() or do { 
     10        $rda->logging(4, 
     11            'Can get archive' 
     12        ); 
     13        return(); 
     14    }; 
     15 
     16   my $filename = $archive->extract($datafile) or do { 
     17        $rda->logging(4, 
     18            "Can't get temporary  %s", 
     19            $archive->error || "", 
     20        ); 
     21 
     22        return(); 
     23    }; 
     24     
     25    $filename 
     26} 
     27 
    728sub { 
    829    my ($rda, $plugintype, $datafile, $datatype) = @_; 
    930 
     31    my ($transidx) = $rda->archivefile() =~ /\.(\d+)$/; 
    1032 
    11     if ($datafile =~ /bonjour\.txt$/) { 
     33    if ($datafile =~ /bonjour\.txt$/i) { 
    1234        # nothing specific to do 
    13     } elsif ($datafile =~ /trans(\d+).txt$/) { 
     35    } elsif ($datafile =~ /trans(\d+).txt$/i) { 
    1436        # nothing specific to do 
    15     } elsif ($datafile =~ /croz\d\d_\d.txt$/) { 
    16     } elsif ($datafile =~ /croz\d{4}.txt$/) { 
    17         if (open(my $h, '<', $datafile)) { 
     37    } elsif ($datafile =~ /croz\d\d_\d.txt$/i) { 
     38    } elsif ($datafile =~ /croz\d{4}.txt$/i) { 
     39        my $filename = ext_ar($rda, $datafile) or return(0); 
     40        if (open(my $h, '<', $filename)) { 
    1841            <$h>; # first line ignored 
    1942            my $line = <$h>; 
     
    2649                    minute => $7, 
    2750                ); 
    28                 return (1, %date); 
     51                $date{'annee2'} = ($date{annee} =~ /(\d\d)$/)[0]; 
     52                return (1, %date, transnum => $transidx); 
     53            } 
     54            else { 
     55                $rda->logging(0, 
     56                    "Line 1 doesn't match in %s (%s)", 
     57                    $filename || "", $datafile, 
     58                );           
    2959            } 
    3060            close($h); 
     61            return(0); 
     62        } else { 
     63            $rda->logging(4, 
     64                "Can't open for read %s (%s)", 
     65                $filename || "", $datafile, 
     66            );                                     
     67            return(0); 
    3168        } 
    32     } elsif ($datafile =~ /zo\d{4}$/) { 
     69    } elsif ($datafile =~ /zo\d{4}$/i) { 
    3370    } else { 
    3471        return(0); 
    3572    } 
     73 
     74    my $filename = ext_ar($rda, $datafile) or return(0); 
    3675     
    37     my @stat = stat($datafile); 
     76    my @stat = stat($filename) or do { 
     77        $rda->logging(4, 
     78            "Can't stat %s (%s)", 
     79            $filename || "", $datafile, 
     80        ); 
     81        return (0); 
     82    }; 
     83 
    3884    my @d = gmtime($stat[9]); 
    3985    my %date = ( 
     
    4288        jour  => $d[3], 
    4389    ); 
     90    $date{'annee2'} = ($date{annee} =~ /(\d\d)$/)[0]; 
    4491 
    45     my ($transidx) = $rda->archivefile() =~ /\.(\d+)$/; 
    4692    return(1, %date, transnum => $transidx) 
    4793} 
Note: See TracChangeset for help on using the changeset viewer.