assembly-image 1.7.8 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efc5ecaed58333775573f14e2f2895ecc8279ff9b80fc13ca69e927abfd216ef
4
- data.tar.gz: 3c9c28f4b3c1a1d170fafbccca2b4b0d518047d8cc6c634716c79efb859876d0
3
+ metadata.gz: ab0138b7a2f4b92d23428f192efd67f9db79e588849411265079c7dafbd8d44b
4
+ data.tar.gz: 6d87bd7214d36684259de8d082b75494f67602947df1bfbb992ae7d4178a339c
5
5
  SHA512:
6
- metadata.gz: f48ce528fd60e5f9ceac51472811ed1bccaf34cd3d82348520dd75bc94af8c18b760e240fcc5355f452a4edee44fc5f664bdbae9bcd6bfd3ea2c46c1bc1fc6a3
7
- data.tar.gz: e2c7963073b4c2975f6e59ee00d8011b04d7bb95f013291d5a48f992a7a801b913fbf8803952d1b133a5d1ac55eba280a9ecd7a38aac1881c53023614fd5582d
6
+ metadata.gz: a1afdaef9ca647be48084fd50ea18adcb69383b42e5cccea155f5dbb5ed072709ca6061f0b0f352df738ff2a0a4d55388a5e2288f6fbb8eab97c166a3f5ed6f0
7
+ data.tar.gz: e4310e4e33f402cefd3443173b47510ae6b1bb767be766f88edf934c802da7778866ad0e4b557254d6599a82b48f8e4f52fd50d9baf01ed0df430ad99cb8993f
data/README.md CHANGED
@@ -9,53 +9,6 @@
9
9
  This gem contains classes used by the Stanford University Digital Library to
10
10
  perform image operations necessary for accessioning of content.
11
11
 
12
- ## Releases
13
-
14
- * 0.0.1 initial release
15
- * 0.0.2 small bug fixes
16
- * 0.0.3 more bug fixes
17
- * 0.0.4 update jp2 creation method to restrict allowed input types and improve color profile handling
18
- * 0.0.5 updated documentation to yard format
19
- * 0.0.6 updated dependency declarations
20
- * 0.1.0 move color profile extraction to tmp folder instead of gem profiles folder
21
- * 0.1.1 fix problem with digest require statement
22
- * 0.1.2 move check for file existence to when an action occurs instead of object initialization; more error checking and messages on command execution
23
- * 0.1.3 added a filesize attribute to the file object to allow easy access to filesize in bytes
24
- * 0.1.4 added a new images class that allows you batch create jp2s from an input TIFF directory
25
- * 0.2.0 added a new method to the image class to handle TIFF "sanity-check" -- can be used to ensure TIFFs are valid before JP2 generation
26
- * 1.0.0 bump the version number up to an official production level release
27
- * 1.1.0 remove common object file behaviors to a separate gem and use that gem as a dependency
28
- * 1.1.1 minor changes to spec tests
29
- * 1.1.2 remove the addition of 'format' node to file types in content metadata generation
30
- * 1.1.3 changes to content metadata generation method: change md5 and sha1 computations so that they come from the assembly-objectfile gem,
31
- and set preserve/publish/shelve attributes using mimetype defaults
32
- * 1.2.0 support tiffs that have embedded thumbnails when creating jp2
33
- * 1.2.1 raise a SecurityError if the user attempts to overwrite an existing jp2 when creating it, to make it easier to catch in assembly
34
- * 1.2.2 add height and width methods for an image that gets it from exif
35
- * 1.2.4 prepare for release listing on DLSS release board
36
- * 1.2.5 small change to use the jp2able method instead of the valid? method when creating jp2s
37
- * 1.2.6 update how version number is set to make it easier to show
38
- * 1.3.0 added a new method to the Assembly::Images class to allow for batch adding of color profiles to all tiffs in a directory; allow batch methods to run recursively
39
- * 1.3.1 remove content metadata generation method and add to assembly-objectfile gem instead
40
- * 1.3.3 update gemspec to force use of latest assembly-objectfile gem to allow gem to work in Ruby 1.9 projects
41
- * 1.3.4 update to latest version of lyberteam gems
42
- * 1.3.5 fix a problem that could occur if there were spaces in input filenames
43
- * 1.3.6 add new attribute to give you default jp2 filename that will be used
44
- * 1.3.7 add new attribute to give you default dpg jp2 filename
45
- * 1.3.8 allow for batch processing of image extensions other than tif
46
- * 1.3.9 create new methods for getting a color profile from exif and for force adding color profile to a single image
47
- * 1.4.0 and 1.4.1 set the imagemagick tmp folder location environment variable when creating jp2
48
- * 1.5.0 allow images with a color profile to have jp2 derivatives generated
49
- * 1.5.1 relax nokogiri version requirement
50
- * 1.6.1 bump version number of assembly-objectfile required to fix UTF-8 errors during JP2-create
51
- * 1.6.2-1.6.3 small change to jp2 generation to try and fix bug with tiffs that have multiple input profile layers
52
- * 1.6.4 added in some additional checks to try and create jp2s with mismatching exif data
53
- * 1.6.5 fix problem with lack of extension in incoming tif causing a problem when creating jp2
54
- * 1.6.7 release to github/rubygems
55
- * 1.6.9 update mini_exiftool
56
- * 1.7.1 for jp2, only transcode to tiff if not a tiff
57
- * 1.7.3 for jp2, only transcode to tiff if not an uncompressed tiff
58
-
59
12
  ## Notes
60
13
 
61
14
  1. The gem assumes that the user context in which it is executed has write access to the 'tmp' folder.
@@ -5,6 +5,6 @@ module Assembly
5
5
  # Main Image class
6
6
  class Image
7
7
  # Gem version
8
- VERSION = '1.7.8'
8
+ VERSION = '1.8.0'
9
9
  end
10
10
  end
data/spec/image_spec.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe Assembly::Image do
6
- let(:ai) { described_class.new(input_path) }
6
+ let(:assembly_image) { described_class.new(input_path) }
7
7
  let(:input_path) { TEST_TIF_INPUT_FILE }
8
8
 
9
9
  after do
@@ -14,14 +14,14 @@ RSpec.describe Assembly::Image do
14
14
 
15
15
  describe '#jp2_filename' do
16
16
  it 'indicates the default jp2 filename' do
17
- expect(ai.jp2_filename).to eq TEST_TIF_INPUT_FILE.gsub('.tif', '.jp2')
17
+ expect(assembly_image.jp2_filename).to eq TEST_TIF_INPUT_FILE.gsub('.tif', '.jp2')
18
18
  end
19
19
 
20
20
  context 'with a file with no extension' do
21
21
  let(:input_path) { '/path/to/a/file_with_no_extension' }
22
22
 
23
23
  it 'indicates the default jp2 filename' do
24
- expect(ai.jp2_filename).to eq '/path/to/a/file_with_no_extension.jp2'
24
+ expect(assembly_image.jp2_filename).to eq '/path/to/a/file_with_no_extension.jp2'
25
25
  end
26
26
  end
27
27
  end
@@ -31,7 +31,7 @@ RSpec.describe Assembly::Image do
31
31
  let(:input_path) { TEST_DPG_TIF_INPUT_FILE }
32
32
 
33
33
  it 'indicates the default DPG jp2 filename' do
34
- expect(ai.dpg_jp2_filename).to eq TEST_DPG_TIF_INPUT_FILE.gsub('.tif', '.jp2').gsub('_00_', '_05_')
34
+ expect(assembly_image.dpg_jp2_filename).to eq TEST_DPG_TIF_INPUT_FILE.gsub('.tif', '.jp2').gsub('_00_', '_05_')
35
35
  end
36
36
  end
37
37
 
@@ -39,7 +39,7 @@ RSpec.describe Assembly::Image do
39
39
  let(:input_path) { '/path/to/a/file_with_no_00_extension' }
40
40
 
41
41
  it 'indicates the default jp2 filename' do
42
- expect(ai.dpg_jp2_filename).to eq '/path/to/a/file_with_no_05_extension.jp2'
42
+ expect(assembly_image.dpg_jp2_filename).to eq '/path/to/a/file_with_no_05_extension.jp2'
43
43
  end
44
44
  end
45
45
  end
@@ -49,7 +49,7 @@ RSpec.describe Assembly::Image do
49
49
  let(:input_path) { '' }
50
50
 
51
51
  it 'does not run if no input file is passed in' do
52
- expect { ai.create_jp2 }.to raise_error
52
+ expect { assembly_image.create_jp2 }.to raise_error
53
53
  end
54
54
  end
55
55
 
@@ -61,8 +61,8 @@ RSpec.describe Assembly::Image do
61
61
  it 'creates the jp2 with a temp file' do
62
62
  expect(File).to exist TEST_TIF_INPUT_FILE
63
63
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
64
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
65
- expect(ai.tmp_path).not_to be_nil
64
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
65
+ expect(assembly_image.tmp_path).not_to be_nil
66
66
  expect(result).to be_a_kind_of described_class
67
67
  expect(result.path).to eq TEST_JP2_OUTPUT_FILE
68
68
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
@@ -81,8 +81,8 @@ RSpec.describe Assembly::Image do
81
81
  it 'creates the jp2 with a temp file' do
82
82
  expect(File).to exist TEST_TIF_INPUT_FILE
83
83
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
84
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
85
- expect(ai.tmp_path).not_to be_nil
84
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
85
+ expect(assembly_image.tmp_path).not_to be_nil
86
86
  expect(result).to be_a_kind_of described_class
87
87
  expect(result.path).to eq TEST_JP2_OUTPUT_FILE
88
88
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
@@ -102,7 +102,7 @@ RSpec.describe Assembly::Image do
102
102
  it 'creates grayscale jp2' do
103
103
  expect(File).to exist TEST_TIF_INPUT_FILE
104
104
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
105
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
105
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
106
106
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
107
107
  expect(result.exif.colorspace).to eq 'Grayscale'
108
108
  end
@@ -116,8 +116,8 @@ RSpec.describe Assembly::Image do
116
116
  it 'creates color jp2' do
117
117
  expect(File).to exist TEST_TIF_INPUT_FILE
118
118
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
119
- expect(ai).not_to have_color_profile
120
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
119
+ expect(assembly_image).not_to have_color_profile
120
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
121
121
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
122
122
  expect(result.exif.colorspace).to eq 'sRGB'
123
123
  end
@@ -131,8 +131,8 @@ RSpec.describe Assembly::Image do
131
131
  it 'creates grayscale jp2' do
132
132
  expect(File).to exist TEST_TIF_INPUT_FILE
133
133
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
134
- expect(ai).not_to have_color_profile
135
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
134
+ expect(assembly_image).not_to have_color_profile
135
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
136
136
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
137
137
  expect(result.exif.colorspace).to eq 'Grayscale'
138
138
  end
@@ -146,8 +146,8 @@ RSpec.describe Assembly::Image do
146
146
  it 'creates color jp2' do
147
147
  expect(File).to exist TEST_TIF_INPUT_FILE
148
148
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
149
- expect(ai).not_to have_color_profile
150
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
149
+ expect(assembly_image).not_to have_color_profile
150
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
151
151
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
152
152
  expect(result.exif.colorspace).to eq 'sRGB'
153
153
  end
@@ -161,10 +161,10 @@ RSpec.describe Assembly::Image do
161
161
  it 'creates a jp2' do
162
162
  expect(File).to exist TEST_TIF_INPUT_FILE
163
163
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
164
- expect(ai).not_to have_color_profile
165
- expect(ai).to be_a_valid_image
166
- expect(ai).to be_jp2able
167
- ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
164
+ expect(assembly_image).not_to have_color_profile
165
+ expect(assembly_image).to be_a_valid_image
166
+ expect(assembly_image).to be_jp2able
167
+ assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
168
168
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
169
169
  end
170
170
  end
@@ -178,7 +178,7 @@ RSpec.describe Assembly::Image do
178
178
  it 'does not run' do
179
179
  expect(File).to exist TEST_TIF_INPUT_FILE
180
180
  expect(File).to exist TEST_JP2_OUTPUT_FILE
181
- expect { ai.create_jp2(output: TEST_JP2_OUTPUT_FILE) }.to raise_error(SecurityError)
181
+ expect { assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE) }.to raise_error(SecurityError)
182
182
  end
183
183
  end
184
184
 
@@ -188,8 +188,8 @@ RSpec.describe Assembly::Image do
188
188
  end
189
189
 
190
190
  it 'gets the correct image height and width' do
191
- expect(ai.height).to eq 100
192
- expect(ai.width).to eq 100
191
+ expect(assembly_image.height).to eq 100
192
+ expect(assembly_image.width).to eq 100
193
193
  end
194
194
  end
195
195
 
@@ -201,10 +201,10 @@ RSpec.describe Assembly::Image do
201
201
  it 'does not run' do
202
202
  expect(File).to exist TEST_TIF_INPUT_FILE
203
203
  expect(File).not_to exist TEST_JP2_OUTPUT_FILE
204
- expect(ai).not_to have_color_profile
205
- expect(ai).to be_a_valid_image
206
- expect(ai).to be_jp2able
207
- ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
204
+ expect(assembly_image).not_to have_color_profile
205
+ expect(assembly_image).to be_a_valid_image
206
+ expect(assembly_image).to be_jp2able
207
+ assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE)
208
208
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
209
209
  jp2_file = described_class.new(TEST_JP2_OUTPUT_FILE)
210
210
  expect(jp2_file).to be_valid_image
@@ -220,7 +220,7 @@ RSpec.describe Assembly::Image do
220
220
 
221
221
  it 'runs, because this is not currently an option' do
222
222
  expect(File).to exist TEST_TIF_INPUT_FILE
223
- result = ai.create_jp2(output_profile: 'bogusness')
223
+ result = assembly_image.create_jp2(output_profile: 'bogusness')
224
224
  expect(result).to be_a_kind_of described_class
225
225
  expect(result.path).to eq TEST_JP2_INPUT_FILE
226
226
  expect(TEST_JP2_INPUT_FILE).to be_a_jp2
@@ -239,7 +239,7 @@ RSpec.describe Assembly::Image do
239
239
  bogus_folder = '/crapsticks'
240
240
  expect(File).to exist TEST_JPEG_INPUT_FILE
241
241
  expect(File).not_to exist bogus_folder
242
- expect { ai.create_jp2(tmp_folder: bogus_folder) }.to raise_error
242
+ expect { assembly_image.create_jp2(tmp_folder: bogus_folder) }.to raise_error
243
243
  end
244
244
  end
245
245
 
@@ -251,7 +251,7 @@ RSpec.describe Assembly::Image do
251
251
  it 'creates a jp2 of the same filename and in the same location as the input and cleans up the tmp file' do
252
252
  expect(File).to exist TEST_TIF_INPUT_FILE
253
253
  expect(File.exist?(TEST_JP2_INPUT_FILE)).to be false
254
- result = ai.create_jp2
254
+ result = assembly_image.create_jp2
255
255
  expect(result).to be_a_kind_of described_class
256
256
  expect(result.path).to eq TEST_JP2_INPUT_FILE
257
257
  expect(TEST_JP2_INPUT_FILE).to be_a_jp2
@@ -268,7 +268,7 @@ RSpec.describe Assembly::Image do
268
268
  it 'recreates jp2' do
269
269
  expect(File).to exist TEST_TIF_INPUT_FILE
270
270
  expect(File).to exist TEST_JP2_OUTPUT_FILE
271
- result = ai.create_jp2(output: TEST_JP2_OUTPUT_FILE, overwrite: true)
271
+ result = assembly_image.create_jp2(output: TEST_JP2_OUTPUT_FILE, overwrite: true)
272
272
  expect(result).to be_a_kind_of described_class
273
273
  expect(result.path).to eq TEST_JP2_OUTPUT_FILE
274
274
  expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assembly-image
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.8
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico