Changeset 95
- Timestamp:
- 12/03/05 02:19:31 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/soft/ObsData/ObsData/Repository.pm
- Property cvs2svn:cvs-rev changed from 1.32 to 1.33
r93 r95 304 304 # Sub data function: 305 305 306 sub data_lastcheck { 307 my ($self, $datafile) = @_; 308 my $last_process = $self->{status}->val($self->{archivefile}, "data_processtime_$datafile"); 309 if ($last_process) { 310 $self->loging(0, "%s/%s has been already processed at %s", 311 $self->{archivefile}, 312 $datafile, 313 scalar(localtime($last_process)), 314 ); 315 } 316 $last_process 317 } 318 306 319 sub get_data_dest { 307 320 my ($self, $datafile) = @_; … … 328 341 $self->load_archive or return 0; 329 342 my $ltime = time; 330 343 344 $self->{status}->newval( 345 $self->{archivefile}, 346 "data_processtime_$datafile", 347 $ltime 348 ); 349 $self->{status}->newval( 350 $self->{archivefile}, 351 "data_processversion_$datafile", 352 $ObsData::VERSION 353 ); 354 355 $self->{status}->SetParameterComment( 356 $self->{archivefile}, 357 "data_processtime_$datafile", 358 scalar(localtime($ltime)) . 359 ", $ObsData::VERSION: $ObsData::CVSREV, $ObsData::Repository::CVSREV", 360 ); 361 331 362 if (!$destfile) { 332 363 $self->loging(3, … … 374 405 } 375 406 376 $self->{status}->newval(377 $self->{archivefile},378 "data_processtime_$datafile",379 $ltime380 );381 $self->{status}->newval(382 $self->{archivefile},383 "data_processversion_$datafile",384 $ObsData::VERSION385 );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 394 407 return 1; 395 408 } … … 403 416 404 417 foreach my $data ($self->list_archive) { 418 if ($self->data_lastcheck($data)) { 419 $self->loging(0, 420 "%s/%s has allready processed, skipping", 421 $self->{archivefile}, 422 $data 423 ); 424 next; 425 } 405 426 $self->extract_data($data, $self->get_data_dest($data)); 406 427 } … … 411 432 } 412 433 413 package ObsData::Repository::dir::archive::data;414 415 our @ISA = qw(ObsData::Repository);416 417 sub new {418 my ($class, $infos, %param) = @_;419 420 my $or = ObsData::Repository->new($infos, %param);421 # dir directory to parse422 # patern glob() over file423 $or->{datafile} or die "No datafile given";424 425 bless($or, $class);426 }427 428 #sub DESTROY {429 # my ($self) = @_;430 # $self->loging(0, "Destroy ObsData::Repository::archive for %s", ref($self));431 # $self->SUPER::DESTROY();432 #}433 434 # TODO Define return code for this function, storing result somewhere to435 # pass to child.436 sub data_need_parse {437 my ($self) = @_;438 my $last_process = $self->{status}->val($self->{archivefile}, "data_processtime_$self->{datafile}");439 if ($last_process) {440 $self->loging(0, "%s/%s has been already processed at %s, skipping",441 $self->{archivefile},442 $self->{datafile},443 scalar(localtime($last_process)),444 );445 return;446 }447 return 1;448 }449 450 sub dispatch {451 my ($self) = @_;452 453 $self->data_need_parse or return;454 455 my ($datatype, $destfile) = $self->{obsdata}->build_dest_filename(456 $self->{datafile},457 $self->{datatype}458 );459 460 $self->loging(0, "%s/%s file, datatype %s, destination %s",461 $self->{archivefile},462 $self->{datafile},463 $datatype || '(none)',464 $destfile || '(none)',465 );466 467 my $ltime = time;468 469 if (!$datatype) {470 $self->loging(3,471 "I don't know what to do of %s/%s",472 $self->{archivefile},473 $self->{datafile}474 );475 } elsif ($destfile) {476 $self->loging(0,477 "Extracting %s/%s to %s", $self->{archivefile},478 $self->{datafile},479 $destfile480 );481 482 my ($dirname) = $destfile =~ m!(?:(.*)/)?(.*)$!; #! vim syntax483 if ($dirname && ! -d $dirname) {484 $self->loging(0, "Creating directory %s", $dirname);485 if( ! File::Path::mkpath($dirname)) {486 $self->loging(487 4, "Can't create directory %s",488 $dirname489 );490 return;491 }492 }493 494 if ($self->{Oarchive}->extract($self->{datafile}, $destfile)) {495 $self->{status}->newval($self->{archivefile}, "data_type_$self->{datafile}", $datatype);496 $self->{status}->newval($self->{archivefile}, "data_dest_$self->{datafile}", $destfile);497 $self->loging(498 1, "Extraction of %s/%s done as %s (%s)",499 $self->{archivefile},500 $self->{datafile},501 $destfile,502 $datatype503 );504 505 } else {506 $self->loging(507 4, "Can't extract %s/%s to %s: %s",508 $self->{archivefile}, $self->{datafile}, $destfile,509 $self->{Oarchive}->error,510 );511 return;512 }513 514 } else {515 $self->loging(3,516 "%s/%s has type %s but no destination",517 $self->{archivefile}, $self->{datafile}, $datatype518 );519 }520 521 $self->{status}->newval(522 $self->{archivefile},523 "data_processtime_$self->{datafile}",524 $ltime525 );526 $self->{status}->newval(527 $self->{archivefile},528 "data_processversion_$self->{datafile}",529 $ObsData::VERSION530 );531 532 $self->{status}->SetParameterComment(533 $self->{archivefile},534 "data_processtime_$self->{datafile}",535 scalar(localtime($ltime)) . ", $ObsData::VERSION: $ObsData::CVSREV, $ObsData::Repository::CVSREV",536 );537 }538 539 434 1;
Note: See TracChangeset
for help on using the changeset viewer.