Changeset 92
- Timestamp:
- 12/02/05 14:13:48 (19 years ago)
- Location:
- trunk/soft/ObsData
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/soft/ObsData/ObsData/Repository.pm
- Property cvs2svn:cvs-rev changed from 1.30 to 1.31
r91 r92 274 274 } 275 275 276 sub update_status {277 my ($self) = @_;278 my @filestats = stat("$self->{dir}/$self->{archivefile}");279 if (!$self->{status}->SectionExists($self->{archivefile})) {280 $self->{status}->AddSection($self->{archivefile});281 }282 $self->{status}->newval($self->{archivefile}, 'mtime', $filestats[9]);283 $self->{status}->newval($self->{archivefile}, 'size', $filestats[7]);284 285 $self->{status}->newval($self->{archivefile}, 'configtime', $self->{obsdata}->config_mtime);286 }287 288 276 sub parse_archive { 289 277 my ($self) = @_; … … 299 287 $data->dispatch; 300 288 } 289 return 1; 290 } 291 292 sub update_status { 293 my ($self) = @_; 294 my @filestats = stat("$self->{dir}/$self->{archivefile}"); 295 if (!$self->{status}->SectionExists($self->{archivefile})) { 296 $self->{status}->AddSection($self->{archivefile}); 297 } 298 $self->{status}->newval($self->{archivefile}, 'mtime', $filestats[9]); 299 $self->{status}->newval($self->{archivefile}, 'size', $filestats[7]); 300 301 $self->{status}->newval($self->{archivefile}, 'configtime', $self->{obsdata}->config_mtime); 302 } 303 304 # Sub data function: 305 306 sub get_data_dest { 307 my ($self, $datafile) = @_; 308 309 my ($t, $d) = $self->{obsdata}->build_dest_filename( 310 $datafile, 311 $self->{datatype} 312 ); 313 $self->loging(0, "%s/%s file, datatype %s, destination %s", 314 $self->{archivefile}, 315 $self->{datafile}, 316 $t || '(none)', 317 $d || '(none)', 318 ); 319 if ($t) { 320 $self->{status}->newval($self->{archivefile}, "data_type_$datafile", $t); 321 } 322 return($t, $d); 323 } 324 325 sub extract_data { 326 # $datatype, informationnal only here 327 my ($self, $datafile, $datatype, $destfile) = @_; 328 $self->load_archive or return 0; 329 my $ltime = time; 330 331 if (!$destfile) { 332 $self->loging(3, 333 "%s/%s has no destination", 334 $self->{archivefile}, $datafile, 335 ); 336 return 0; 337 } 338 339 $self->loging(0, 340 "Trying to extract %s from %s/%s", 341 $destfile, 342 $self->{archivefile}, $datafile 343 ); 344 345 my ($dirname) = $destfile =~ m!(?:(.*)/)?(.*)$!; #! vim syntax sux 346 347 if ($dirname && ! -d $dirname) { 348 $self->loging(0, "Creating directory %s", $dirname); 349 if( ! File::Path::mkpath($dirname)) { 350 $self->loging( 351 4, "Can't create directory %s", 352 $dirname 353 ); 354 return 0; 355 } 356 } 357 358 if ($self->{Oarchive}->extract($datafile, $destfile)) { 359 $self->{status}->newval($self->{archivefile}, "data_dest_$datafile", $destfile); 360 $self->loging( 361 1, "Extraction of %s/%s done as %s", 362 $self->{archivefile}, 363 $datafile, 364 $destfile, 365 ); 366 367 } else { 368 $self->loging( 369 4, "Can't extract %s/%s to %s: %s", 370 $self->{archivefile}, $datafile, $destfile, 371 $self->{Oarchive}->error, 372 ); 373 return 0; 374 } 375 376 $self->{status}->newval( 377 $self->{archivefile}, 378 "data_processtime_$datafile", 379 $ltime 380 ); 381 $self->{status}->newval( 382 $self->{archivefile}, 383 "data_processversion_$datafile", 384 $ObsData::VERSION 385 ); 386 387 $self->{status}->SetParameterComment( 388 $self->{archivefile}, 389 "data_processtime_$datafile", 390 scalar(localtime($ltime)) . 391 ", $ObsData::VERSION: $ObsData::CVSREV, $ObsData::Repository::CVSREV", 392 ); 393 301 394 return 1; 302 395 } -
trunk/soft/ObsData/t/OR-03.t
- Property cvs2svn:cvs-rev changed from 1.4 to 1.5
r91 r92 1 1 # $Id$ 2 2 3 use Test::More tests => 9;3 use Test::More tests => 11; 4 4 use File::Temp qw(tempdir); 5 5 … … 33 33 ok($or->load_archive, "Can load an archive"); 34 34 ok($or->list_archive, "Can list archive content"); 35 ok($or->get_data_dest('ozone34'), "Can get data destination"); 36 ok($or->extract_data('ozone34', undef, '/dev/null'), "Can extract data"); 35 37 } 36 38
Note: See TracChangeset
for help on using the changeset viewer.