Changeset 194


Ignore:
Timestamp:
01/13/06 16:22:00 (18 years ago)
Author:
thauvin
Message:
  • add a way to get information from archive file (instead data file)
Location:
trunk/soft/ObsData
Files:
2 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.70 to 1.71
    r193 r194  
    525525} 
    526526 
     527=head3 archive_match($datatype) 
     528 
     529Apply matching to archive filename 
     530 
     531=cut 
     532 
     533sub archive_match { 
     534    my ($self, $datatype) = @_; 
     535    my $regexp = $self->{obsdata}->getvalue($datatype, 'match_archive') or next; 
     536    my @data = $self->{archivefile} =~ /$regexp/; 
     537    return @data; 
     538} 
     539 
    527540=head3 build_dest_filename($datafile) 
    528541 
     
    536549=cut 
    537550 
    538  
    539551sub build_dest_filename { 
    540552    my ($self, $datafile) = @_; 
    541553    my ($datatype, @data) = $self->match_data_type($datafile); 
    542  
     554     
    543555    if (! $datatype) { 
    544556        return; 
    545557    } 
    546558 
     559    my @ardata = (); 
     560    if (my $arregexp = $self->{obsdata}->getvalue($datatype, 'match_archive')) { 
     561        @ardata = $self->{archivefile} =~ /$arregexp/; 
     562        if (!@ardata) { 
     563            return; # FIXME is this what we want ? 
     564        } 
     565    } 
     566 
    547567    my $dest = $self->{obsdata}->getvalue($datatype, 'dest'); 
    548568    my @matcharg = split(/\s+/, $self->{obsdata}->getvalue($datatype, 'matcharg')); 
     569    my @matcharg_ar = split(/\s+/, $self->{obsdata}->getvalue($datatype, 'matcharg_archive')||""); 
    549570    my @destarg = split(/\s+/, $self->{obsdata}->getvalue($datatype, 'destarg')); 
    550571    my @gmtime = gmtime; 
     
    552573    foreach (@matcharg) { 
    553574        $val{$_} = shift(@data); 
     575    } 
     576    foreach (@matcharg_ar) { 
     577        $val{$_} = shift(@ardata); 
    554578    } 
    555579    # FIXME Is this need ? 
  • trunk/soft/ObsData/testdata/obsdata-conftest

    • Property cvs2svn:cvs-rev changed from 1.8 to 1.9
    r119 r194  
    1919 
    2020[oxygene] 
     21match_archive= ^[^\d]*(\d\d) 
     22matcharg_archive= arnum 
    2123match= ^oxygene(\d\d)$ 
    2224matcharg=num 
    23 destarg=%Y num $datafile 
     25destarg=%Y arnum $datafile 
    2426dest=%s/dest%s/%s 
Note: See TracChangeset for help on using the changeset viewer.