assembly-image 1.7.8 → 1.8.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.
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