Changeset 9353
- Timestamp:
- 2005-03-10T11:59:45+13:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugins/RecPlug.pm
r9145 r9353 480 480 push (@{$self->{'metakeysref'}}, @{$self->{'saved_targets'}}); 481 481 foreach my $target (@{$self->{'saved_targets'}}) { 482 $self->{'metadataref'}->{$target} = $self->{'saved_metadata'}; 482 my $file_metadata = $self->{'metadataref'}->{$target}; 483 my $saved_metadata = $self->{'saved_metadata'}; 484 $self->combine_metadata_structures($file_metadata,$saved_metadata); 483 485 } 484 486 } … … 491 493 492 494 } 495 496 sub store_saved_metadata 497 { 498 my $self = shift(@_); 499 my ($mname,$mvalue,$md_accumulate) = @_; 500 501 if (defined $self->{'saved_metadata'}->{$mname}) { 502 if ($md_accumulate) { 503 # accumulate mode - add value to existing value(s) 504 if (ref ($self->{'saved_metadata'}->{$mname}) eq "ARRAY") { 505 push (@{$self->{'saved_metadata'}->{$mname}}, $mvalue); 506 } else { 507 $self->{'saved_metadata'}->{$mname} = 508 [$self->{'saved_metadata'}->{$mname}, $mvalue]; 509 } 510 } else { 511 # override mode 512 $self->{'saved_metadata'}->{$mname} = $mvalue; 513 } 514 } else { 515 if ($md_accumulate) { 516 # accumulate mode - add value into (currently empty) array 517 $self->{'saved_metadata'}->{$mname} = [$mvalue]; 518 } else { 519 # override mode 520 $self->{'saved_metadata'}->{$mname} = $mvalue; 521 } 522 } 523 } 524 493 525 494 526 sub Text { … … 501 533 # $_ == Metadata content 502 534 my $mname = $self->{'metadata_name'}; 503 if (defined $self->{'saved_metadata'}->{$mname}) { 504 if ($self->{'metadata_accumulate'}) { 505 # accumulate mode - add value to existing value(s) 506 if (ref ($self->{'saved_metadata'}->{$mname}) eq "ARRAY") { 507 push (@{$self->{'saved_metadata'}->{$mname}}, $_); 508 } else { 509 $self->{'saved_metadata'}->{$mname} = 510 [$self->{'saved_metadata'}->{$mname}, $_]; 511 } 512 } else { 513 # override mode 514 $self->{'saved_metadata'}->{$mname} = $_; 515 } 516 } else { 517 if ($self->{'metadata_accumulate'}) { 518 # accumulate mode - add value into (currently empty) array 519 $self->{'saved_metadata'}->{$mname} = [$_]; 520 } else { 521 # override mode 522 $self->{'saved_metadata'}->{$mname} = $_; 523 } 524 } 535 my $mvalue = $_; 536 my $md_accumulate = $self->{'metadata_accumulate'}; 537 $self->store_saved_metadata($mname,$mvalue,$md_accumulate); 525 538 } 526 539 }
Note:
See TracChangeset
for help on using the changeset viewer.