exifr 0.10.9 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|