- Timestamp:
- 2011-03-24T10:20:25+13:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/EmbeddedMetadataPlugin.pm
r23212 r23810 30 30 use BasePlugin; 31 31 32 use Encode; 32 33 use Image::ExifTool qw(:Public); 33 34 use strict; … … 39 40 { 40 41 @EmbeddedMetadataPlugin::ISA = ('BasePlugin'); 41 } 42 43 42 binmode(STDERR, ":utf8"); 43 } 44 45 my $encoding_plus_auto_list = 46 [ { 'name' => "auto", 47 'desc' => "{ReadTextFile.input_encoding.auto}" } ]; 48 push(@{$encoding_plus_auto_list},@{$BasePlugin::encoding_list}); 44 49 45 50 my $arguments = … … 47 52 'desc' => "{HTMLPlugin.metadata_field_separator}", 48 53 'type' => "string", 49 'deft' => "" } 50 54 'deft' => "" }, 55 { 'name' => "input_encoding", 56 'desc' => "{ReadTextFile.input_encoding}", 57 'type' => "enum", 58 'list' => $encoding_plus_auto_list, 59 'reqd' => "no", 60 'deft' => "auto" } 51 61 ]; 52 62 … … 136 146 137 147 my $field = "ex.$group.$tag"; 148 149 my $encoding = $self->{'input_encoding'}; 150 if($encoding eq "auto") 151 { 152 $encoding = "utf8" 153 } 154 155 138 156 139 157 if (!defined $exif_metadata{$field}) … … 142 160 } 143 161 162 $field = Encode::decode($encoding,$field); 144 163 my $metadata_done = 0; 145 164 if (ref $value eq 'SCALAR') { … … 158 177 $metadata_done = 1; 159 178 foreach my $v (@$value) { 179 $v = Encode::decode($encoding,$v); 160 180 push (@{$exif_metadata{$field}}, $self->gsSafe($v)); 161 181 ++$metadata_count; … … 163 183 } 164 184 else { 165 if (defined $separator) { 185 $value = Encode::decode($encoding,$value); 186 if (defined $separator) { 166 187 my @vs = split($separator, $value); 167 188 $metadata_done = 1;
Note:
See TracChangeset
for help on using the changeset viewer.