Changeset 22896
- Timestamp:
- 2010-09-14T13:01:09+12:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/DirectoryPlugin.pm
r21586 r22896 413 413 $base_dir_regexp =~ s/\//$os_dirsep/g; 414 414 my $local_dirname = $dirname; 415 $local_dirname =~ s/^$base_dir_regexp($os_dirsep)//; 416 $local_dirname .= $dirsep; 417 418 if (defined $self->{'subdir_extrametakeys'}->{$local_dirname}) { 419 my $extrakeys = $self->{'subdir_extrametakeys'}->{$local_dirname}; 420 foreach my $ek (@$extrakeys) { 421 my $extrakeys_re = $ek->{'re'}; 422 my $extrakeys_md = $ek->{'md'}; 423 my $extrakeys_mf = $ek->{'mf'}; 424 push(@extrametakeys,$extrakeys_re); 425 $extrametadata{$extrakeys_re} = $extrakeys_md; 426 $extrametafile{$extrakeys_re} = $extrakeys_mf; 427 } 428 delete($self->{'subdir_extrametakeys'}->{$local_dirname}); 429 } 430 415 416 $local_dirname =~ s/^$base_dir_regexp($os_dirsep)*//; 417 # if we are in import folder, then local_dirname will be empty 418 if ($local_dirname ne "") { 419 # look for extra metadata passed down from higher folders 420 $local_dirname .= $dirsep; 421 if (defined $self->{'subdir_extrametakeys'}->{$local_dirname}) { 422 my $extrakeys = $self->{'subdir_extrametakeys'}->{$local_dirname}; 423 foreach my $ek (@$extrakeys) { 424 my $extrakeys_re = $ek->{'re'}; 425 my $extrakeys_md = $ek->{'md'}; 426 my $extrakeys_mf = $ek->{'mf'}; 427 push(@extrametakeys,$extrakeys_re); 428 $extrametadata{$extrakeys_re} = $extrakeys_md; 429 $extrametafile{$extrakeys_re} = $extrakeys_mf; 430 } 431 delete($self->{'subdir_extrametakeys'}->{$local_dirname}); 432 } 433 } 431 434 # apply metadata pass for each of the files in the directory 432 435 my $num_files = scalar(@dir); … … 456 459 # filter out any extrametakeys that mention subdirectories and store 457 460 # for later use (i.e. when that sub-directory is being processed) 458 459 461 foreach my $ek (@extrametakeys) { 460 462 my ($subdir_re,$extrakey_dir) = &File::Basename::fileparse($ek); 461 462 463 $extrakey_dir =~ s/\\\./\./g; # remove RE syntax for . 463 464 $extrakey_dir =~ s/\\\\/\\/g; # remove RE syntax for \ … … 578 579 if ($additionalmetadata == 1) { 579 580 foreach my $filespec (@extrametakeys) { 580 581 581 ## use the utf8 encoded filename to do the filename comparison 582 582 if ($tmpfile =~ /^$filespec$/) {
Note:
See TracChangeset
for help on using the changeset viewer.