Changeset 52


Ignore:
Timestamp:
11/24/05 18:27:30 (19 years ago)
Author:
thauvin
Message:
  • add function to generate dest string
Location:
trunk/soft/ObsData
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/soft/ObsData/ObsData.pm

    • Property cvs2svn:cvs-rev changed from 1.15 to 1.16
    r51 r52  
    266266} 
    267267 
     268sub build_dest_filename { 
     269    my ($self, $label, $datatype) = @_; 
     270    my @data; 
     271    if ($datatype) { 
     272        @data = $self->match_data_type($datatype, $label); 
     273    } else { 
     274        ($datatype, @data) = $self->find_match_data_type($label); 
     275    } 
     276 
     277    if ($datatype && @data) { 
     278        my $dest = $self->getvalue($datatype, 'dest'); 
     279        my @matcharg = split(/\s+/, $self->getvalue($datatype, 'matcharg')); 
     280        my @destarg = split(/\s+/, $self->getvalue($datatype, 'destarg')); 
     281        my %val; 
     282        foreach (@matcharg) { 
     283            $val{$_} = shift(@data); 
     284        } 
     285        return sprintf( 
     286            $dest, 
     287            map { $val{$_} } @destarg, 
     288        ); 
     289    } 
     290    undef; 
     291} 
     292 
    268293sub find_file_obs { 
    269294    my ($self, $obs) = @_; 
  • trunk/soft/ObsData/t/O-02.t

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r49 r52  
    11# $Id$ 
    22 
    3 use Test::More tests => 20; 
     3use Test::More tests => 24; 
    44use File::Temp qw(tempdir); 
    55 
     
    4242ok(!$o->find_match_data_type('foo12.gz'), "is able to find good datatype"); 
    4343 
     44ok($o->build_dest_filename('ozone12.gz') eq 'dest12', "Can build dest string"); 
     45ok($o->build_dest_filename('ozone12.gz', 'ozone') eq 'dest12', "Can build dest string with datatype"); 
     46ok(!defined($o->build_dest_filename('foo12.gz')), "Return undef if no match"); 
     47ok(!defined($o->build_dest_filename('ozone12.gz', 'oxygene')), "Return undef if no match"); 
     48 
    4449$o = undef; # Explicit destroy 
    4550system("rm -fr $td");  
  • trunk/soft/ObsData/testdata/obsdata-conftest

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r49 r52  
    1313 
    1414[ozone] 
    15 match= ^ozone\d\d\.gz$ 
     15match= ^ozone(\d\d)\.gz$ 
     16matcharg=num 
     17destarg=num 
     18dest=dest%s 
    1619 
    1720[oxygene] 
Note: See TracChangeset for help on using the changeset viewer.