Changeset 24487 for main/trunk
- Timestamp:
- 2011-08-26T09:39:01+12:00 (13 years ago)
- Location:
- main/trunk/greenstone2/perllib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/EmbeddedMetadataPlugin.pm
r24419 r24487 75 75 'list' => [{'name' => "true", 'desc' => "{common.true}"}, {'name' => "false", 'desc' => "{common.false}"}], 76 76 'deft' => "true" 77 },{ 78 'name' => "set_filter_list", 79 'desc' => "{EmbeddedMetadataPlugin.set_filter_list}", 80 'type' => "string" 81 },{ 82 'name' => "set_filter_regexp", 83 'desc' => "{EmbeddedMetadataPlugin.set_filter_regexp}", 84 'type' => "string", 85 'deft' => ".*" #If changing this default, also need to update the constructor 77 86 }]; 78 87 … … 102 111 $exifTool->Options('Verbose'); 103 112 $self->{'exiftool'} = $exifTool; 113 114 my $setFilterList = $self->{'set_filter_list'}; 115 my $setFilterRegexp = $self->{'set_filter_regexp'}; 116 if ((defined $setFilterList) && ($setFilterList ne "")) 117 { 118 if ((defined $setFilterRegexp) && ($setFilterRegexp ne ".*") && ($setFilterRegexp ne "")) 119 { 120 my $outhandle = $self->{'outhandle'}; 121 print $outhandle "Warning: can only specify 'set_filter_list' or 'set_filter_regexp'\n"; 122 print $outhandle " defaulting to 'set_filter_list'\n"; 123 } 124 125 my @sets = split(/,/,$setFilterList); 126 my @sets_bracketed; 127 foreach my $s (@sets) 128 { 129 $s =~ s/^(ex\.)?(.*)$/(ex.$2)/; 130 push (@sets_bracketed, $s); 131 } 132 133 my $setFilterRegexp = join("|",@sets_bracketed); 134 $self->{'set_filter_regexp'} = $setFilterRegexp; 135 } 104 136 105 137 return bless $self, $class; … … 145 177 } 146 178 179 sub checkAgainstFilters 180 { 181 my $self = shift(@_); 182 my $name = shift(@_); 183 184 my $setFilterRegexp = $self->{'set_filter_regexp'}; 185 if((defined $setFilterRegexp) && ($setFilterRegexp ne "")) 186 { 187 return ($name =~ m/($setFilterRegexp)/i); 188 } 189 else 190 { 191 return 1; 192 } 193 } 147 194 148 195 sub extractEmbeddedMetadata() … … 215 262 foreach my $val (@vs) { 216 263 if ($val =~ /\S/) { 217 push (@{$exif_metadata{$field}}, $self->gsSafe($val)) ;264 push (@{$exif_metadata{$field}}, $self->gsSafe($val)) if $self->checkAgainstFilters($field); 218 265 ++$metadata_count; 219 266 } … … 222 269 else 223 270 { 224 push (@{$exif_metadata{$field}}, $self->gsSafe($v)) ;271 push (@{$exif_metadata{$field}}, $self->gsSafe($v)) if $self->checkAgainstFilters($field); 225 272 ++$metadata_count; 226 273 } … … 239 286 foreach my $val (@vs) { 240 287 if ($val =~ /\S/) { 241 push (@{$exif_metadata{$field}}, $self->gsSafe($val)) ;288 push (@{$exif_metadata{$field}}, $self->gsSafe($val)) if $self->checkAgainstFilters($field); 242 289 ++$metadata_count; 243 290 } … … 246 293 else 247 294 { 248 push (@{$exif_metadata{$field}}, $self->gsSafe($allvals)) ;295 push (@{$exif_metadata{$field}}, $self->gsSafe($allvals)) if $self->checkAgainstFilters($field); 249 296 ++$metadata_count; 250 297 } … … 258 305 foreach my $v (@vs) { 259 306 if ($v =~ /\S/) { 260 push (@{$exif_metadata{$field}}, $self->gsSafe($v)) ;307 push (@{$exif_metadata{$field}}, $self->gsSafe($v)) if $self->checkAgainstFilters($field); 261 308 ++$metadata_count; 262 309 } … … 265 312 } 266 313 if (!$metadata_done) { 267 push (@{$exif_metadata{$field}}, $self->gsSafe($value)) ;314 push (@{$exif_metadata{$field}}, $self->gsSafe($value)) if $self->checkAgainstFilters($field); 268 315 ++$metadata_count; 269 316 } -
main/trunk/greenstone2/perllib/strings.properties
r24291 r24487 866 866 EmbeddedMetadataPlugin.join_character:The character to use with join_before_split (default is a single space). 867 867 EmbeddedMetadataPlugin.trim_whitespace:Trim whitespace from start and end of any extracted metadata values (Note: this also applies to any values generated through joining with join_before_split or splitting through metadata_field_separator). 868 EmbeddedMetadataPlugin.set_filter_list:A comma-separated list of the metadata sets we would like to retrieve. 869 EmbeddedMetadataPlugin.set_filter_regexp:A regular expression that filters out the metadata we would like to retrieve. 868 870 869 871 ExcelPlugin.desc:A plugin for importing Microsoft Excel files (versions 95 and 97).
Note:
See TracChangeset
for help on using the changeset viewer.