Changeset 85


Ignore:
Timestamp:
12/01/05 12:02:13 (19 years ago)
Author:
thauvin
Message:
  • rearrange class
Location:
trunk/soft/ObsData
Files:
4 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.27 to 1.28
    r84 r85  
    276276     
    277277    foreach my $datatype (keys %datadir) { 
    278         my $or = ObsData::Repository->new( 
     278        my $or = ObsData::Repository::dir->new( 
    279279            $self, 
    280280            $datadir{$datatype}, 
  • trunk/soft/ObsData/ObsData/Repository.pm

    • Property cvs2svn:cvs-rev changed from 1.23 to 1.24
    r84 r85  
    3232 
    3333=cut 
     34 
     35sub DESTROY { 
     36    my ($self) = @_; 
     37    $self->loging(0, "Destroy ObsData::Repository for %s", ref($self)); 
     38    $self->save_status; 
     39} 
     40 
     41sub save_status { 
     42    my ($self) = @_; 
     43    $self->{status}->AddSection('.'); 
     44    $self->{status}->SetSectionComment('.', 
     45        $ObsData::CVSID, 
     46        $ObsData::Repository::CVSID, 
     47        scalar(localtime), 
     48    ); 
     49 
     50    $self->{status}->WriteConfig("$self->{dir}/obsdata.ini"); 
     51} 
     52 
     53sub loging { 
     54    my $self = shift; 
     55    $self->{obsdata}->loging(@_); 
     56} 
     57 
     58sub set_do_if_change { 
     59    my ($self, %settings) = @_; 
     60     
     61    foreach (keys %default_do_if_change) { 
     62        $self->{do_if_change}{$_} = 
     63            defined($settings{$_}) ? $settings{$_} : $default_do_if_change{$_}; 
     64    } 
     65} 
     66 
     67package ObsData::Repository::dir; 
     68 
     69our @ISA = qw(ObsData::Repository); 
    3470 
    3571sub new { 
     
    5793} 
    5894 
    59 sub DESTROY { 
    60     my ($self) = @_; 
    61     $self->loging(0, "Destroy ObsData::Repository for %s", ref($self)); 
    62     $self->save_status; 
    63 } 
    64  
    65 sub save_status { 
    66     my ($self) = @_; 
    67     $self->{status}->AddSection('.'); 
    68     $self->{status}->SetSectionComment('.', 
    69         $ObsData::CVSID, 
    70         $ObsData::Repository::CVSID, 
    71         scalar(localtime), 
    72     ); 
    73  
    74     $self->{status}->WriteConfig("$self->{dir}/obsdata.ini"); 
    75 } 
    76  
    77 sub loging { 
    78     my $self = shift; 
    79     $self->{obsdata}->loging(@_); 
    80 } 
    81  
    82 sub set_do_if_change { 
    83     my ($self, %settings) = @_; 
    84      
    85     foreach (keys %default_do_if_change) { 
    86         $self->{do_if_change}{$_} = 
    87             defined($settings{$_}) ? $settings{$_} : $default_do_if_change{$_}; 
    88     } 
    89 } 
    90  
    9195sub parse_files { 
    9296    my ($self) = @_; 
     
    106110            } 
    107111 
    108             my $archive = ObsData::Repository::archive->new( 
     112            my $archive = ObsData::Repository::dir::archive->new( 
    109113                $self, 
    110114                $file 
     
    119123} 
    120124 
    121 package ObsData::Repository::archive; 
     125package ObsData::Repository::dir::archive; 
    122126 
    123127our @ISA = qw(ObsData::Repository); 
     
    241245    foreach my $datafile ($self->{Oarchive}->ls) { 
    242246        $self->loging(0, "archive %s: content %s", $self->{archivefile}, $datafile); 
    243         my $data = ObsData::Repository::archive::data->new( 
     247        my $data = ObsData::Repository::dir::archive::data->new( 
    244248            $self, 
    245249            $datafile, 
     
    249253} 
    250254 
    251 package ObsData::Repository::archive::data; 
    252  
    253 our @ISA = qw(ObsData::Repository::archive); 
     255package ObsData::Repository::dir::archive::data; 
     256 
     257our @ISA = qw(ObsData::Repository); 
    254258 
    255259sub new { 
     
    303307 
    304308    my $ltime = time; 
    305     $self->{status}->newval( 
    306         $self->{archivefile}, 
    307         "data_processtime_$self->{datafile}", 
    308         $ltime 
    309     ); 
    310     $self->{status}->newval( 
    311         $self->{archivefile}, 
    312         "data_processversion_$self->{datafile}", 
    313         $ObsData::VERSION 
    314     ); 
    315  
    316     $self->{status}->SetParameterComment( 
    317         $self->{archivefile},  
    318         "data_processtime_$self->{datafile}", 
    319         scalar(localtime($ltime)) . ", $ObsData::VERSION: $ObsData::CVSREV, $ObsData::Repository::CVSREV", 
    320     ); 
    321  
    322309     
    323310    if (!$datatype) { 
     
    327314            $self->{datafile} 
    328315        ); 
    329         return; 
    330316    } elsif ($destfile) { 
    331317        $self->loging(0, 
     
    338324        if ($dirname && ! -d $dirname) { 
    339325            $self->loging(0, "Creating directory %s", $dirname); 
    340             File::Path::mkpath($dirname) or $self->loging( 
    341                 4, "Can't create directory %s",  
    342                 $dirname 
    343             ); 
     326            if( ! File::Path::mkpath($dirname)) {  
     327                $self->loging( 
     328                    4, "Can't create directory %s",  
     329                    $dirname 
     330                ); 
     331                return; 
     332            } 
    344333        } 
    345334 
     
    361350                $self->{Oarchive}->error, 
    362351            ); 
     352            return; 
    363353        } 
    364354         
     
    369359        ); 
    370360    } 
     361 
     362    $self->{status}->newval( 
     363        $self->{archivefile}, 
     364        "data_processtime_$self->{datafile}", 
     365        $ltime 
     366    ); 
     367    $self->{status}->newval( 
     368        $self->{archivefile}, 
     369        "data_processversion_$self->{datafile}", 
     370        $ObsData::VERSION 
     371    ); 
     372 
     373    $self->{status}->SetParameterComment( 
     374        $self->{archivefile},  
     375        "data_processtime_$self->{datafile}", 
     376        scalar(localtime($ltime)) . ", $ObsData::VERSION: $ObsData::CVSREV, $ObsData::Repository::CVSREV", 
     377    ); 
    371378} 
    372379 
  • trunk/soft/ObsData/t/OR-01.t

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r57 r85  
    11# $Id$ 
    22 
    3 use Test::More tests => 2; 
     3use Test::More tests => 1; 
    44 
    55use_ok('ObsData::Repository'); 
    66 
    7 ok(!ObsData::Repository->new(1), "Return an error on bad file"); 
  • trunk/soft/ObsData/t/OR-02.t

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r79 r85  
    99 
    1010my $o = ObsData->new('testdata/obsdata-conftest', logfile => "testdata/obsdata.log"); 
    11 my $or = ObsData::Repository->new( 
     11my $or = ObsData::Repository::dir->new( 
    1212    $o, 
    1313    "testdata", 
Note: See TracChangeset for help on using the changeset viewer.