Changeset 24951
- Timestamp:
- 2012-01-16T17:47:14+13:00 (12 years ago)
- Location:
- main/trunk/greenstone2/perllib
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/DSpacePlugin.pm
r24355 r24951 47 47 package DSpacePlugin; 48 48 49 use extrametautil; 49 50 use ReadTextFile; 50 51 use plugin; … … 298 299 } 299 300 } 300 push(@$extrametakeys,$file_re);301 &extrametautil::addmetakey($extrametakeys, $file_re); 301 302 302 303 # See Format's Extent section in http://dublincore.org/documents/usageguide/qualifiers.shtml … … 331 332 } 332 333 333 $extrametadata->{$file_re} = $self->{'saved_metadata'};334 &extrametautil::setmetadata($extrametadata, $file_re, $self->{'saved_metadata'}); 334 335 335 336 return 1; -
main/trunk/greenstone2/perllib/plugins/DirectoryPlugin.pm
r24932 r24951 30 30 package DirectoryPlugin; 31 31 32 use extrametautil; 32 33 use PrintInfo; 33 34 use plugin; … … 443 444 my $extrakeys_md = $ek->{'md'}; 444 445 my $extrakeys_mf = $ek->{'mf'}; 445 push(@extrametakeys,$extrakeys_re);446 $extrametadata{$extrakeys_re} = $extrakeys_md;447 $extrametafile{$extrakeys_re} = $extrakeys_mf;446 &extrametautil::addmetakey(\@extrametakeys, $extrakeys_re); 447 &extrametautil::setmetadata(\%extrametadata, $extrakeys_re, $extrakeys_md); 448 &extrametautil::setmetafile(\%extrametafile, $extrakeys_re, $extrakeys_mf); 448 449 } 449 450 delete($self->{'subdir_extrametakeys'}->{$local_dirname}); … … 489 490 my $ek_non_re = &util::unregex_filename($ek); 490 491 if ($ek_non_re =~ m/$dirsep_re/) { # specifies at least one directory 491 my $md = $extrametadata{$ek};492 my $mf = $extrametafile{$ek};492 my $md = &extrametautil::getmetadata(\%extrametadata, $ek); 493 my $mf = &extrametautil::getmetafile(\%extrametafile, $ek); 493 494 494 495 my $subdir_extrametakeys = $self->{'subdir_extrametakeys'}; … … 496 497 my $subdir_rec = { 're' => $subdir_re, 'md' => $md, 'mf' => $mf }; 497 498 498 # when it s looked up, it must be relative to the base dir499 # when it's looked up, it must be relative to the base dir 499 500 push(@{$subdir_extrametakeys->{"$local_dirname$extrakey_dir"}},$subdir_rec); 500 501 #push(@{$subdir_extrametakeys->{"$extrakey_dir"}},$subdir_rec); … … 606 607 print $outhandle "File \"$subfile\" matches filespec \"$filespec\"\n" 607 608 if ($verbosity > 2); 608 my $mdref = $extrametadata{$filespec};609 my $mfref = $extrametafile{$filespec};609 my $mdref = &extrametautil::getmetadata(\%extrametadata, $filespec); 610 my $mfref = &extrametautil::getmetafile(\%extrametafile, $filespec); 610 611 611 612 # Add the list files where the metadata came from -
main/trunk/greenstone2/perllib/plugins/EmbeddedMetadataPlugin.pm
r24796 r24951 29 29 30 30 use BasePlugin; 31 use extrametautil; 31 32 32 33 use Encode; … … 325 326 326 327 # Protect windows directory chars \ 327 $file = &util::filename_to_regex($file); 328 $file = &util::filename_to_regex($file); #### 328 329 329 330 # Associate the metadata now 330 331 331 if (defined $extrametadata->{$file}) {332 if (defined &extrametautil::getmetadata($extrametadata, $file)) { 332 333 print STDERR "\n**** Need to merge new metadata with existing stored metadata: file = $file\n" if $verbosity > 2; 333 334 334 my $file_metadata_table = $extrametadata->{$file};335 my $file_metadata_table = &extrametautil::getmetadata($extrametadata, $file); 335 336 336 337 foreach my $metaname (keys %exif_metadata) { … … 342 343 } 343 344 else { 344 $extrametadata->{$file} = \%exif_metadata;345 push(@$extrametakeys, $file);345 &extrametautil::setmetadata($extrametadata, $file, \%exif_metadata); 346 &extrametautil::addmetakey($extrametakeys, $file); 346 347 } 347 348 -
main/trunk/greenstone2/perllib/plugins/LOMPlugin.pm
r24548 r24951 32 32 package LOMPlugin; 33 33 34 use extrametautil; 34 35 use ReadTextFile; 35 36 use MetadataPass; … … 168 169 $self->{'lom_srcdoc'} = undef; # reset for next file to be processed 169 170 170 push(@$extrametakeys,$file_re);171 $extrametadata->{$file_re} = $self->{'saved_metadata'};171 &extrametautil::addmetakey($extrametakeys, $file_re); 172 &extrametautil::setmetadata($extrametadata, $file_re, $self->{'saved_metadata'}); 172 173 if (defined $lom_srcdoc) { 173 174 # copied from oaiplugin 174 if (!defined $extrametafile->{$file_re}) {175 $extrametafile->{$file_re} = {};175 if (!defined &extrametautil::getmetafile($extrametafile, $file_re)) { 176 &extrametautil::setmetafile($extrametafile, $file_re, {}); 176 177 } 177 178 #maps the file to full path 178 $extrametafile->{$file_re}->{$file} = $filename_full_path;179 &extrametautil::setmetafile_for_named_file($extrametafile, $file_re, $file, $filename_full_path); 179 180 } 180 181 -
main/trunk/greenstone2/perllib/plugins/MetadataCSVPlugin.pm
r24756 r24951 33 33 use strict; 34 34 no strict 'refs'; 35 36 use extrametautil; 35 37 use multiread; 36 38 … … 205 207 $csv_line_filename = &util::filename_to_regex($csv_line_filename); 206 208 207 $extrametadata->{$csv_line_filename} = \%csv_line_metadata;208 push(@$extrametakeys, $csv_line_filename);209 &extrametautil::setmetadata($extrametadata, $csv_line_filename, \%csv_line_metadata); 210 &extrametautil::addmetakey($extrametakeys, $csv_line_filename); 209 211 # record which file the metadata came from 210 if (!defined $extrametafile->{$csv_line_filename}) {211 $extrametafile->{$csv_line_filename} = {};212 if (!defined &extrametautil::getmetafile($extrametafile, $csv_line_filename)) { 213 &extrametautil::setmetafile($extrametafile, $csv_line_filename, {}); 212 214 } 213 215 # maps the file to full path 214 $extrametafile->{$csv_line_filename}->{$file} = $filename;216 &extrametautil::setmetafile_for_named_file($extrametafile, $csv_line_filename, $file, $filename); 215 217 } 216 218 } -
main/trunk/greenstone2/perllib/plugins/MetadataXMLPlugin.pm
r24060 r24951 93 93 94 94 use BasePlugin; 95 use extrametautil; 95 96 use util; 96 97 use metadatautil; … … 327 328 if ($element eq "FileSet") { 328 329 foreach my $target (@{$self->{'saved_targets'}}) { 329 my $file_metadata = $self->{'metadataref'}->{$target};330 my $file_metadata = &extrametautil::getmetadata($self->{'metadataref'}, $target); 330 331 my $saved_metadata = $self->{'saved_metadata'}; 331 332 332 333 if (!defined $file_metadata) { 333 $self->{'metadataref'}->{$target} = $saved_metadata;334 &extrametautil::setmetadata($self->{'metadataref'}, $target, $saved_metadata); 334 335 335 336 # not had target before 336 push (@{$self->{'metakeysref'}}, $target);337 &extrametautil::addmetakey($self->{'metakeysref'}, $target); 337 338 } 338 339 else { … … 346 347 my $filename = $self->{'metadata-filename'}; 347 348 348 if (!defined $self->{'metafileref'}->{$target}) {349 $self->{'metafileref'}->{$target} = {};349 if (!defined &extrametautil::getmetafile($self->{'metafileref'}, $target)) { 350 &extrametautil::setmetafile($self->{'metafileref'}, $target, {}); 350 351 } 351 352 352 $self->{'metafileref'}->{$target}->{$file} = $filename353 &extrametautil::setmetafile_for_named_file($self->{'metafileref'}, $target, $file, $filename); 353 354 } 354 355 } -
main/trunk/greenstone2/perllib/plugins/OAIMetadataXMLPlugin.pm
r23212 r24951 33 33 no strict 'refs'; 34 34 35 use extrametautil; 35 36 use MetadataXMLPlugin; 36 37 … … 125 126 { 126 127 # Don't harvest file sets that don't have dc.Identifier set, "dc.Identifier" is usde as the key between Greenstone and OAI Server! 127 next if (!defined($extrametadata->{$one_file}->{"dc.Identifier"}->[0]) || $extrametadata->{$one_file}->{"dc.Identifier"}->[0] eq ""); 128 my $dc_identifier = &extrametautil::getmetadata_for_named_pos($extrametadata, $one_file, "dc.Identifier", 0); 129 next if (!defined($dc_identifier) || $dc_identifier eq ""); 128 130 129 131 #======================================================================# … … 131 133 #======================================================================# 132 134 # The dc.Identifier has to be the same as the OAI record identifier 133 my $oai_identifier = $ extrametadata->{$one_file}->{"dc.Identifier"}->[0];135 my $oai_identifier = $dc_identifier; 134 136 135 137 # Now, let's get the OAI metadata … … 195 197 # This might need change over once they update the Koha OAI server 196 198 $value =~ s/\/opac\/opac\-detail\.pl\?bib\=/\/catalogue\/detail\.pl\?biblionumber\=/; 197 } 198 $extrametadata->{$one_file}->{$field_name} = [] if (!defined($extrametadata->{$one_file}->{$field_name})); 199 push(@{$extrametadata->{$one_file}->{$field_name}}, $value); 199 } 200 201 &extrametautil::setmetadata_for_named_metaname($extrametadata, $one_file, $field_name, []) if (!defined (&extrametautil::getmetadata_for_named_metaname($extrametadata, $one_file, $field_name))); 202 &extrametautil::addmetadata_for_named_metaname($extrametadata, $one_file, $field_name, $value); 200 203 } 201 204 #======================================================================# -
main/trunk/greenstone2/perllib/plugins/OAIPlugin.pm
r24547 r24951 27 27 package OAIPlugin; 28 28 29 use extrametautil; 29 30 use unicode; 30 31 use util; … … 256 257 # extrametadata keys should be regular expressions 257 258 $filename_for_metadata = &util::filename_to_regex($filename_for_metadata); 258 $extrametadata->{$filename_for_metadata} = $new_metadata;259 push(@$extrametakeys, $filename_for_metadata);260 if ($srcdoc_exists) { 261 if (!defined $extrametafile->{$filename_for_metadata}) {262 $extrametafile->{$filename_for_metadata} = {};259 &extrametautil::setmetadata($extrametadata, $filename_for_metadata, $new_metadata); 260 &extrametautil::addmetakey($extrametakeys, $filename_for_metadata); 261 if ($srcdoc_exists) { 262 if (!defined &extrametautil::getmetafile($extrametafile, $filename_for_metadata)) { 263 &extrametautil::setmetafile($extrametafile, $filename_for_metadata, {}); 263 264 } 264 265 #maps the file to full path 265 $extrametafile->{$filename_for_metadata}->{$file} = $filename_full_path; 266 &extrametautil::setmetafile_for_named_file($extrametafile, $filename_for_metadata, $file, $filename_full_path); 267 266 268 } 267 269 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.