Changeset 49


Ignore:
Timestamp:
11/24/05 07:19:51 (19 years ago)
Author:
thauvin
Message:
  • add matching functions
Location:
trunk/soft/ObsData
Files:
3 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.12 to 1.13
    r48 r49  
    246246} 
    247247 
     248sub match_data_type { 
     249    my ($self, $datatype, $label) = @_; 
     250    my $regexp = $self->getvalue($datatype, 'match') or return; 
     251    if (! ($label =~ /$regexp/)) { 
     252        return; 
     253    } 
     254    return 1; 
     255} 
     256 
     257sub find_match_data_type { 
     258    my ($self, $label) = @_; 
     259    foreach my $datatype ($self->list_datatype) { 
     260        if ($self->match_data_type($datatype, $label)) { 
     261            return $datatype; 
     262        } 
     263    } 
     264} 
     265 
    248266sub find_file_obs { 
    249267    my ($self, $obs) = @_; 
  • trunk/soft/ObsData/t/O-02.t

    • Property cvs2svn:cvs-rev changed from 1.6 to 1.7
    r46 r49  
    11# $Id$ 
    22 
    3 use Test::More tests => 16; 
     3use Test::More tests => 20; 
    44use File::Temp qw(tempdir); 
    55 
     
    3535print STDERR join(" ", $o->list_datatype); 
    3636 
     37# Testing match rules 
     38ok($o->match_data_type('ozone', 'ozone12.gz'), "String matching setting"); 
     39ok(!$o->match_data_type('ozone', 'foo12.gz'), "String no matching setting"); 
     40 
     41ok($o->find_match_data_type('ozone12.gz'), "is able to find good datatype"); 
     42ok(!$o->find_match_data_type('foo12.gz'), "is able to find good datatype"); 
     43 
     44$o = undef; # Explicit destroy 
    3745system("rm -fr $td");  
  • trunk/soft/ObsData/testdata/obsdata-conftest

    • Property cvs2svn:cvs-rev changed from 1.3 to 1.4
    r25 r49  
    1313 
    1414[ozone] 
     15match= ^ozone\d\d\.gz$ 
    1516 
    1617[oxygene] 
Note: See TracChangeset for help on using the changeset viewer.