You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2010/09/03 19:01:44 UTC

svn commit: r992375 - in /tika/trunk: tika-core/src/main/java/org/apache/tika/metadata/TIFF.java tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java

Author: nick
Date: Fri Sep  3 17:01:44 2010
New Revision: 992375

URL: http://svn.apache.org/viewvc?rev=992375&view=rev
Log:
Add TIFF/Exif Flash property and support (TIKA-504)

Modified:
    tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java?rev=992375&r1=992374&r2=992375&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/TIFF.java Fri Sep  3 17:01:44 2010
@@ -52,13 +52,17 @@ public interface TIFF {
         Property.internalInteger("tiff:SamplesPerPixel");
 
     /**
+     * Did the Flash fire when taking this image?
+     */
+    Property FLASH_FIRED =
+       Property.internalBoolean("exif:Flash");
+    
+    /**
      * "Exposure time in seconds."
      */
     Property EXPOSURE_TIME =
        Property.internalRational("exif:ExposureTime");
     
-    //  TODO "exif:Flash"
-    
     /**
      * "F-Number."
      * The f-number is the focal length divided by the "effective" aperture 

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java?rev=992375&r1=992374&r2=992375&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java Fri Sep  3 17:01:44 2010
@@ -185,6 +185,21 @@ public class ImageMetadataExtractor {
            return;
         }
         
+        if(tag.getTagName().equals("Flash") ||
+                tag.getTagType() == 37385) {
+           String flash = tag.getDescription();
+           if(flash.indexOf("Flash fired") > -1) {
+              metadata.set(Metadata.FLASH_FIRED, Boolean.TRUE.toString());
+           }
+           else if(flash.indexOf("Flash did not fire") > -1) {
+              metadata.set(Metadata.FLASH_FIRED, Boolean.FALSE.toString());
+           }
+           else {
+              metadata.set(Metadata.FLASH_FIRED, flash);
+           }
+           return;
+        }
+
         if(tag.getTagName().equals("F-Number") ||
                 tag.getTagType() == 33437) {
            Object fnumber = directory.getObject(tag.getTagType());

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java?rev=992375&r1=992374&r2=992375&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java Fri Sep  3 17:01:44 2010
@@ -46,6 +46,7 @@ public class JpegParserTest extends Test
         
         assertEquals("6.25E-4", metadata.get(Metadata.EXPOSURE_TIME)); // 1/1600
         assertEquals("5.6", metadata.get(Metadata.F_NUMBER));
+        assertEquals("false", metadata.get(Metadata.FLASH_FIRED));
         assertEquals("194.0", metadata.get(Metadata.FOCAL_LENGTH));
         assertEquals("400", metadata.get(Metadata.ISO_SPEED_RATINGS));
         assertEquals("Canon", metadata.get(Metadata.EQUIPMENT_MAKE));
@@ -56,8 +57,6 @@ public class JpegParserTest extends Test
         assertEquals("240.0", metadata.get(Metadata.RESOLUTION_VERTICAL));
         assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));
         
-        // TODO - Flash
-        
         // Common tags
         assertEquals("Date/Time for when the photo was taken, unspecified time zone",
                 "2009-10-02T23:02:49", metadata.get(Metadata.DATE));
@@ -88,6 +87,7 @@ public class JpegParserTest extends Test
         
         assertEquals("6.25E-4", metadata.get(Metadata.EXPOSURE_TIME)); // 1/1600
         assertEquals("5.6", metadata.get(Metadata.F_NUMBER));
+        assertEquals("false", metadata.get(Metadata.FLASH_FIRED));
         assertEquals("194.0", metadata.get(Metadata.FOCAL_LENGTH));
         assertEquals("400", metadata.get(Metadata.ISO_SPEED_RATINGS));
         assertEquals("Canon", metadata.get(Metadata.EQUIPMENT_MAKE));