assembly-objectfile 1.5.3 → 1.5.4
Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc
CHANGED
@@ -58,6 +58,7 @@ content type specific operations (such as jp2 generation).
|
|
58
58
|
- 1.5.1 Pin mini_exiftool to 1.x and Nokogiri to 1.5.x branch for Ruby 1.8.7, added image/png and application/zip
|
59
59
|
- 1.5.2 Fix for Rails 4 and support for 'rake console'
|
60
60
|
- 1.5.3 More gemfile updates
|
61
|
+
- 1.5.4 jp2able? method now returns true even if profile description is missing; add new method which does a check for existing color profile in an image
|
61
62
|
|
62
63
|
==Usage
|
63
64
|
|
@@ -194,7 +194,7 @@ module Assembly
|
|
194
194
|
object_type == :image
|
195
195
|
end
|
196
196
|
|
197
|
-
# Examines the input image for validity. Used to determine if image is a valid and useful image. If image is not a jp2, also checks
|
197
|
+
# Examines the input image for validity. Used to determine if image is a valid and useful image. If image is not a jp2, also checks if it is jp2able?
|
198
198
|
#
|
199
199
|
# @return [boolean] true if image is valid, false if not.
|
200
200
|
#
|
@@ -210,6 +210,17 @@ module Assembly
|
|
210
210
|
|
211
211
|
end
|
212
212
|
|
213
|
+
# Examines the input image for a color profile.
|
214
|
+
#
|
215
|
+
# @return [boolean] true if image has a color profile, false if not.
|
216
|
+
#
|
217
|
+
# Example:
|
218
|
+
# source_img=Assembly::ObjectFile.new('/input/path_to_file.tif')
|
219
|
+
# puts source_img.has_color_profile? # gives true
|
220
|
+
def has_color_profile?
|
221
|
+
exif.nil? ? false : !exif['profiledescription'].nil? # check for existence of profile description
|
222
|
+
end
|
223
|
+
|
213
224
|
# Examines the input image for validity to create a jp2. Same as valid_image? but also confirms the existence of a profile description and further restricts mimetypes.
|
214
225
|
# It is used by the assembly robots to decide if a jp2 will be created and is also called before you create a jp2 using assembly-image.
|
215
226
|
# @return [boolean] true if image should have a jp2 created, false if not.
|
@@ -222,7 +233,6 @@ module Assembly
|
|
222
233
|
result=false
|
223
234
|
unless exif.nil?
|
224
235
|
result=(Assembly::VALID_IMAGE_MIMETYPES.include?(mimetype)) # check for allowed image mimetypes that can be converted to jp2
|
225
|
-
result=(exif['profiledescription'] != nil) # check for existence of profile description
|
226
236
|
end
|
227
237
|
return result
|
228
238
|
|
data/spec/object_file_spec.rb
CHANGED
@@ -53,13 +53,34 @@ describe Assembly::ObjectFile do
|
|
53
53
|
@ai.dpg_folder.should == "05"
|
54
54
|
end
|
55
55
|
|
56
|
-
it "should tell us that a jp2 file
|
56
|
+
it "should tell us that a jp2 file is jp2able but has no color profile" do
|
57
57
|
File.exists?(TEST_JP2_INPUT_FILE).should be true
|
58
58
|
@ai = Assembly::ObjectFile.new(TEST_JP2_INPUT_FILE)
|
59
59
|
@ai.image?.should == true
|
60
60
|
@ai.object_type.should == :image
|
61
61
|
@ai.valid_image?.should == true
|
62
|
-
@ai.jp2able?.should ==
|
62
|
+
@ai.jp2able?.should == true
|
63
|
+
@ai.has_color_profile?.should == false
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should tell us that a tiff file is jp2able and has a color profile" do
|
67
|
+
File.exists?(TEST_RES1_TIF1).should be true
|
68
|
+
@ai = Assembly::ObjectFile.new(TEST_RES1_TIF1)
|
69
|
+
@ai.image?.should == true
|
70
|
+
@ai.object_type.should == :image
|
71
|
+
@ai.valid_image?.should == true
|
72
|
+
@ai.jp2able?.should == true
|
73
|
+
@ai.has_color_profile?.should == true
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should tell us that a tiff file is not jp2able and is not valid since it has no profile" do
|
77
|
+
File.exists?(TEST_TIFF_NO_COLOR_FILE).should be true
|
78
|
+
@ai = Assembly::ObjectFile.new(TEST_TIFF_NO_COLOR_FILE)
|
79
|
+
@ai.image?.should == true
|
80
|
+
@ai.object_type.should == :image
|
81
|
+
@ai.valid_image?.should == true
|
82
|
+
@ai.jp2able?.should == true
|
83
|
+
@ai.has_color_profile?.should == false
|
63
84
|
end
|
64
85
|
|
65
86
|
it "should compute checksums for an image file" do
|
data/spec/spec_helper.rb
CHANGED
@@ -22,6 +22,8 @@ TEST_DPG_SPECIAL_PDF1=File.join(TEST_INPUT_DIR,'oo000oo0001','oo000oo0001_book.p
|
|
22
22
|
TEST_DPG_SPECIAL_PDF2=File.join(TEST_INPUT_DIR,'oo000oo0001','31','oo000oo0001_31_001.pdf')
|
23
23
|
TEST_DPG_SPECIAL_TIF=File.join(TEST_INPUT_DIR,'oo000oo0001','50','oo000oo0001_50_001.tif')
|
24
24
|
|
25
|
+
TEST_TIFF_NO_COLOR_FILE=File.join(TEST_INPUT_DIR,'test_no_color_profile.tif')
|
26
|
+
|
25
27
|
TEST_RES1_TIF1=File.join(TEST_INPUT_DIR,'res1_image1.tif')
|
26
28
|
TEST_RES1_JP1=File.join(TEST_INPUT_DIR,'res1_image1.jp2')
|
27
29
|
TEST_RES1_TIF2=File.join(TEST_INPUT_DIR,'res1_image2.tif')
|
Binary file
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assembly-objectfile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 1.5.
|
9
|
+
- 4
|
10
|
+
version: 1.5.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Peter Mangiafico
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2013-08-
|
21
|
+
date: 2013-08-29 00:00:00 Z
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
24
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -219,6 +219,7 @@ files:
|
|
219
219
|
- spec/test_data/input/test.tif
|
220
220
|
- spec/test_data/input/test2.jp2
|
221
221
|
- spec/test_data/input/test2.tif
|
222
|
+
- spec/test_data/input/test_no_color_profile.tif
|
222
223
|
homepage: ""
|
223
224
|
licenses: []
|
224
225
|
|
@@ -290,4 +291,5 @@ test_files:
|
|
290
291
|
- spec/test_data/input/test.tif
|
291
292
|
- spec/test_data/input/test2.jp2
|
292
293
|
- spec/test_data/input/test2.tif
|
294
|
+
- spec/test_data/input/test_no_color_profile.tif
|
293
295
|
has_rdoc:
|