exifr 0.10.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +5 -0
- data/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/lib/exifr.rb +1 -1
- data/lib/jpeg.rb +1 -1
- data/lib/tiff.rb +16 -12
- data/tests/jpeg_test.rb +2 -2
- data/tests/test_helper.rb +1 -1
- data/tests/tiff_test.rb +4 -4
- metadata +3 -3
data/CHANGELOG
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
EXIF Reader 1.0.0
|
2
|
+
* bug fix; "ArgumentError: invalid byte sequence in UTF-8" when reading messy field using Ruby 1.9+
|
3
|
+
* enhancement; "[GH#4] more informative inspect for EXIFR::TIFF::Orientation instance"
|
4
|
+
* bug fix; "[GH#6] ERROR RuntimeError: can't add a new key into hash during iteration"; thanks to KISHIMOTO, Makoto
|
5
|
+
|
1
6
|
EXIF Reader 0.10.9
|
2
7
|
* bug fix; "[GH#1] user_comment returns nil for jpeg with UserComment"; thanks to Mark Lundquist
|
3
8
|
* bug fix; "[GH#2] Nil pointer in tiff.rb"
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
data/lib/exifr.rb
CHANGED
data/lib/jpeg.rb
CHANGED
data/lib/tiff.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2007, 2008, 2009 - R.W. van 't Veer
|
1
|
+
# Copyright (c) 2007, 2008, 2009, 2010 - R.W. van 't Veer
|
2
2
|
|
3
3
|
require 'rational'
|
4
4
|
|
@@ -255,6 +255,11 @@ module EXIFR
|
|
255
255
|
@value
|
256
256
|
end
|
257
257
|
|
258
|
+
# Debugging output.
|
259
|
+
def inspect
|
260
|
+
"\#<EXIFR::TIFF::Orientation:#{@type}(#{@value})>"
|
261
|
+
end
|
262
|
+
|
258
263
|
# Rotate and/or flip for proper viewing.
|
259
264
|
def transform_rmagick(img)
|
260
265
|
case @type
|
@@ -405,16 +410,15 @@ module EXIFR
|
|
405
410
|
def height; image_length; end
|
406
411
|
|
407
412
|
def to_hash
|
408
|
-
@hash ||=
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
end
|
413
|
+
@hash ||= @fields.map do |key,value|
|
414
|
+
if value.nil?
|
415
|
+
{}
|
416
|
+
elsif IFD_TAGS.include?(key)
|
417
|
+
value.to_hash
|
418
|
+
else
|
419
|
+
{key => value}
|
416
420
|
end
|
417
|
-
end
|
421
|
+
end.inject { |m,v| m.merge(v) } || {}
|
418
422
|
end
|
419
423
|
|
420
424
|
def inspect
|
@@ -459,7 +463,7 @@ module EXIFR
|
|
459
463
|
# TODO handle signed bytes
|
460
464
|
len, pack = count, proc { |d| d }
|
461
465
|
when 2 # ascii
|
462
|
-
len, pack = count, proc { |d| d.
|
466
|
+
len, pack = count, proc { |d| d.unpack("A*") }
|
463
467
|
when 3, 8 # short, signed short
|
464
468
|
# TODO handle signed
|
465
469
|
len, pack = count * 2, proc { |d| d.unpack(data.short + '*') }
|
@@ -467,7 +471,7 @@ module EXIFR
|
|
467
471
|
# TODO handle signed
|
468
472
|
len, pack = count * 4, proc { |d| d.unpack(data.long + '*') }
|
469
473
|
when 7 # undefined
|
470
|
-
# UserComment
|
474
|
+
# UserComment
|
471
475
|
if @tag == 0x9286
|
472
476
|
len, pack = count, proc { |d| d.strip }
|
473
477
|
len -= 8 # reduce to account for first 8 bytes
|
data/tests/jpeg_test.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
|
3
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
|
4
4
|
|
5
|
-
require
|
5
|
+
require 'test_helper'
|
6
6
|
|
7
7
|
class JPEGTest < Test::Unit::TestCase
|
8
8
|
def test_initialize
|
data/tests/test_helper.rb
CHANGED
data/tests/tiff_test.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
|
3
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
|
4
4
|
|
5
|
-
require
|
5
|
+
require 'test_helper'
|
6
6
|
|
7
7
|
class TIFFTest < Test::Unit::TestCase
|
8
8
|
def setup
|
@@ -162,11 +162,11 @@ class TIFFTest < Test::Unit::TestCase
|
|
162
162
|
TIFF.new(f('endless-loop.exif'))
|
163
163
|
assert true
|
164
164
|
end
|
165
|
-
|
165
|
+
|
166
166
|
def test_user_comment
|
167
167
|
assert_equal "Manassas Battlefield", TIFF.new(f('user-comment.exif')).user_comment
|
168
168
|
end
|
169
|
-
|
169
|
+
|
170
170
|
def test_handle_out_of_range_offset
|
171
171
|
assert_nothing_raised do
|
172
172
|
assert 'NIKON', TIFF.new(f('out-of-range.exif')).make
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exifr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- R.W. van 't Veer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-04-07 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements: []
|
79
79
|
|
80
80
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.3.
|
81
|
+
rubygems_version: 1.3.5
|
82
82
|
signing_key:
|
83
83
|
specification_version: 3
|
84
84
|
summary: EXIF Reader is a module to read EXIF from JPEG images.
|