]> git.decadent.org.uk Git - memories.git/commitdiff
Expose IPTC tags for viewing. Closes #1.
authorSimon Cozens <simon@simon-cozens.org>
Tue, 6 Feb 2007 20:57:30 +0000 (20:57 +0000)
committerSimon Cozens <simon@simon-cozens.org>
Tue, 6 Feb 2007 20:57:30 +0000 (20:57 +0000)
git-svn-id: http://svn.simon-cozens.org/memories/trunk@4 041978f6-d955-411f-a9d7-1d8545c9c3c7

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;