Changeset 168
- Timestamp:
- 12/19/05 23:10:37 (18 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.55 to 1.56
r165 r168 9 9 use ObsData; 10 10 use ObsData::Archive; 11 use ObsData::Event; 11 12 use Config::IniFiles; 12 13 … … 469 470 } 470 471 471 =head3 default_checks($why, @args) 472 473 Perform defaults checks 474 475 =cut 476 477 sub default_checks { 478 my ($self, $why, @args) = @_; 479 472 sub populate_event { 473 my ($self, $oevent, @args) = @_; 480 474 my ($code, $text); 481 475 482 if ($why eq 'do_archive') { 483 ($code, $text) = $self->do_check('archive_size'); 484 if ($code) { 485 $self->logging(3, $text); 486 } 487 488 ($code, $text) = $self->do_check('archive_mtime'); 489 if ($code) { 490 $self->logging(3, $text); 491 } 492 493 ($code, $text) = $self->do_check('archive_exists'); 494 if ($code != 0) { 495 $self->logging(0, "%s => skiping", $text); 496 return 0; 497 } 498 } elsif ($why eq 'do_data') { 499 500 } elsif ($why eq 'overwrite') { 501 ($code, $text) = $self->do_check('dest_exists', @args); 502 if ($code) { 503 $self->logging(0, "%s", $text); 504 return 0; 505 } else { 506 $self->logging(0, "%s", $text); 507 return 1; 508 } 509 } 510 511 1; 476 for ($oevent->id) { 477 /^do_archive$/ and do { 478 foreach my $t (qw(archive_size archive_mtime archive_exists)) { 479 ($code, $text) = $self->do_check($t); 480 $oevent->add_test($t, $text, $code); 481 } 482 last; 483 }; 484 /^do_data$/ and do { 485 last; 486 }; 487 /^overwrite$/ and do { 488 ($code, $text) = $self->do_check('dest_exists', @args); 489 $oevent->add_test('dest_exists', $text, $code); 490 last; 491 }; 492 } 493 } 494 495 =head3 default_choice($oevent) 496 497 =cut 498 499 sub default_choice { 500 my ($self, $oevent) = @_; 501 502 for ($oevent->id) { 503 /^do_archive$/ and do { 504 last; 505 }; 506 /^do_data$/ and do { 507 last; 508 }; 509 /^overwrite$/ and do { 510 last; 511 }; 512 } 512 513 } 513 514 … … 524 525 my ($self, $why, @args) = @_; 525 526 527 my $oevent = ObsData::Event->new($why, $why); 528 $self->populate_event( 529 $oevent, @args 530 ); 531 526 532 if ($self->{interative_callback}) { 527 return $self->{interative_callback}->($self, $ why, @args);533 return $self->{interative_callback}->($self, $oevent); 528 534 } else { 529 return $self->default_ch ecks($why, @args);535 return $self->default_choice($oevent); 530 536 } 531 537 } -
trunk/soft/ObsData/t/OR-03.t
- Property cvs2svn:cvs-rev changed from 1.10 to 1.11
r151 r168 1 1 # $Id$ 2 3 use strict; 4 use warnings; 2 5 3 6 use Test::More tests => 14; … … 30 33 archivefile => 'ozone34.gz', 31 34 interative_callback => sub { 32 my ($self, $ why, @args) = @_;33 $callbackwhy = $ why;34 if ($ why eq 'overwrite') {35 my ($self, $event) = @_; 36 $callbackwhy = $event->id; 37 if ($callbackwhy eq 'overwrite') { 35 38 return 1; 36 39 } else { 37 return $self->default_ch ecks($why, @args);40 return $self->default_choice($event); 38 41 } 39 42 }, … … 49 52 ok($or->get_data_value('ozone34', 'BAR') eq 'BAR', "can get a value"); 50 53 51 ok($or->do_continue('overwrite' ) eq 1, "Perform do_continue");54 ok($or->do_continue('overwrite', 'a', 'a') eq 1, "Perform do_continue"); 52 55 ok($callbackwhy eq 'overwrite', "arg are properly passed to callback"); 53 56 ok($or->list_archive, "Can list archive content");
Note: See TracChangeset
for help on using the changeset viewer.