libis-format 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: b999bbcddc6828684dce5503042653689ac740ea
4
- data.tar.gz: 973b1c2637e537ed6e34b2d737077c1af6993e58
3
+ metadata.gz: 21f527308cef3b9865c24c956f5a76cf67973400
4
+ data.tar.gz: 19c867aef5d28da24a3354025b11fc718b885a7f
5
5
  SHA512:
6
- metadata.gz: 8b27e038a62221f9c9ff9242a7f0d5fdaf3d9727d117a5d2c06f62edff50936b5ee8ff02590e57e22d535fdf7682d6f0647e5922890272f7288f9eb1fbb7a2ee
7
- data.tar.gz: a86e75825e8dad808ee3434f6daf567bc21edc8cdbb4494e59fc10645f9742219d0dd3bbd96f0b7cc55593671e1328183e3828f8064a7bfc8745ae773b11da47
6
+ metadata.gz: 3af22a3b301bc89a0839215a96a571d729478c61f3d414ee144e7f011d16443f4e604efd8f6afb0b40d2dd02dc77ca65878dfba7b29a6f4bc186beec8373b437
7
+ data.tar.gz: 81bebc7836625f251e9365100bfdb4a13d3ec4424a26a536521bb1776a11d96472645af1e360077ff64d5ef4e6f08671e0c87330d8fa32f5230b390509a016ce
@@ -29,6 +29,10 @@ module Libis
29
29
  [:TIFF, :JPG, :PNG, :BMP, :GIF, :PDF, :JP2]
30
30
  end
31
31
 
32
+ def self.multipage?(format)
33
+ [:PDF, :TIFF, :GIF, :PBM, :PGM, :PPM].include?(format)
34
+ end
35
+
32
36
  def initialize
33
37
  @wm_image = nil
34
38
  super
@@ -142,24 +146,13 @@ module Libis
142
146
  FileUtils.mkpath(File.dirname(target))
143
147
 
144
148
  if source.is_a? Array
145
- sources = source
146
-
147
- unless [:PDF, :TIFF, :GIF, :PBM, :PGM, :PPM].include? format
148
- error 'Can ony assemble multiple images into multi-page/layer format'
149
- return nil
150
- end
151
149
 
152
- assemble_and_convert(sources, target, format)
150
+ assemble_and_convert(source, target, format)
153
151
 
154
152
  elsif File.directory?(source)
155
- sources = Dir[File.join(source, '**', '*')].reject { |p| File.directory? p }
153
+ source_list = Dir[File.join(source, '**', '*')].reject { |p| File.directory? p }
156
154
 
157
- unless [:TIFF, :PDF].include? format
158
- error 'Can ony assemble multiple images into multi-page/layer format'
159
- return nil
160
- end
161
-
162
- assemble_and_convert(sources, target, format)
155
+ assemble_and_convert(source_list, target, format)
163
156
 
164
157
  else
165
158
 
@@ -181,12 +174,15 @@ module Libis
181
174
  end
182
175
 
183
176
  def assemble_and_convert(sources, target, format)
177
+
178
+ warn 'Received multiple images as input and single page format as target.' unless self.class.multipage?(format)
184
179
  converted_pages = sources.inject([]) do |list, path|
185
180
  converted = Tempfile.new(['page-', ".#{Libis::Format::TypeDatabase.type_extentions(format).first}"])
186
181
  convert_image(path, converted.path, format)
187
182
  list << converted
188
183
  end
189
184
  MiniMagick::Tool::Convert.new do |b|
185
+ b.append unless self.class.multipage?(format)
190
186
  converted_pages.each { |page| b << page.path }
191
187
  b << target
192
188
  end
@@ -200,7 +196,8 @@ module Libis
200
196
 
201
197
  def convert_image(source, target, format)
202
198
 
203
- image_info = MiniMagick::Image::Info.new(source)
199
+ image_info = nil
200
+ image_info = MiniMagick::Image::Info.new(source) if @wm_image
204
201
 
205
202
  MiniMagick::Tool::Convert.new do |convert|
206
203
  if @wm_image
@@ -1,5 +1,5 @@
1
1
  module Libis
2
2
  module Format
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libis-format
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kris Dekeyser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-02 00:00:00.000000000 Z
11
+ date: 2018-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler