]> git.decadent.org.uk Git - memories.git/blobdiff - Memories/Photo.pm
Expose IPTC tags for viewing. Closes #1.
[memories.git] / Memories / Photo.pm
index 4e2a59dea02f719315ab98fee116b84bb80ff2cc..a0c3f1bbc1d664a980454538029bcca78116f325 100644 (file)
@@ -174,16 +174,20 @@ sub exif_info {
     $info;
 }
 
+my %banned_tags = map { $_ => 1 }
+    qw( CodedCharacterSet ApplicationRecordVersion );
+
 sub _exif_info {
     my $exifTool = new Image::ExifTool;
-    $exifTool->Options(Group0 => ['EXIF', 'MakerNotes', 'Composite']);
+    $exifTool->Options(Group0 => ['IPTC', 'EXIF', 'MakerNotes', 'Composite']);
     my $info = $exifTool->ImageInfo(shift->path);
     my $hash = {};
     foreach my $tag ($exifTool->GetFoundTags('Group0')) {
+        next if $banned_tags{$tag};
          my $group = $exifTool->GetGroup($tag);
          my $val = $info->{$tag};
          next if ref $val eq 'SCALAR';
-         next if $val =~ /^[0\s]*$/;
+         next if $val =~ /^[0\s]*$/ or $val =~ /^nil$/;
          $hash->{$group}->{$exifTool->GetDescription($tag)} = $val;
     }
     return $hash;