obf 0.9.8.7 → 0.9.8.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/obf/pdf.rb +14 -2
- data/lib/obf/utils.rb +23 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2ed2e2f90f78fab2afac2c3d1f52af1c8b7345e7cb3d0fa6434832899b62a05
|
4
|
+
data.tar.gz: cd9e8521d222e51a9fe6ea760134465a93e2bb05b9c9ee03252bd57e986890ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02ef108ce774799e4242d1818104d12ae2fcb9c725ef05218bc55b8784330adb458a2d89a1341a2cf7abdd90c61ce2d7374297155151271a9730777a1af5e195
|
7
|
+
data.tar.gz: 56c075245f5cb0421b556c2618ca2dbe81ffda55d199e0f73787cdc34c0df4c942ae1419379babbeafee64dd088a09ea38b4311423c00a24a50dfb3a9212a34f
|
data/lib/obf/pdf.rb
CHANGED
@@ -196,14 +196,26 @@ module OBF::PDF
|
|
196
196
|
uri = OBF::Utils.sanitize_url(uri)
|
197
197
|
req = Typhoeus::Request.new(uri, followlocation: true)
|
198
198
|
hydra.queue(req)
|
199
|
-
grabs << {url: url, req: req, image: image}
|
199
|
+
grabs << {url: url, req: req, image: image, fill: btn['background_color'] ? OBF::Utils.fix_color(btn['background_color'], 'hex') : "ffffff"}
|
200
200
|
end
|
201
201
|
end
|
202
202
|
hydra.run
|
203
|
+
threads = []
|
203
204
|
grabs.each do |grab|
|
204
205
|
grab[:image]['raw_data'] = grab[:req].response.body
|
206
|
+
grab[:image]['threadable'] = true
|
205
207
|
grab[:image]['content_type'] = grab[:req].response.headers['Content-Type'] if grab[:req].response.headers['Content-Type']
|
208
|
+
bg = 'white'
|
209
|
+
if options['transparent_background'] || options['symbol_background'] == 'transparent'
|
210
|
+
bg = "\##{grab[:fill]}"
|
211
|
+
elsif options['symbol_background'] == 'black'
|
212
|
+
bg = 'black'
|
213
|
+
end
|
214
|
+
res = OBF::Utils.save_image(grab[:image], options['zipper'], bg)
|
215
|
+
threads << res unless res.is_a?(String)
|
206
216
|
end
|
217
|
+
threads.each{|t| t.join }
|
218
|
+
grabs.each{|g| g[:image]['threadable'] = false }
|
207
219
|
OBF::Utils.log " done with #{grabs.length} remote images!"
|
208
220
|
|
209
221
|
obj['grid']['order'].each_with_index do |buttons, row|
|
@@ -255,7 +267,7 @@ module OBF::PDF
|
|
255
267
|
elsif options['symbol_background'] == 'black'
|
256
268
|
bg = 'black'
|
257
269
|
end
|
258
|
-
image_local_path = image && OBF::Utils.save_image(image, options['zipper'], bg)
|
270
|
+
image_local_path = image && (image['local_path'] || OBF::Utils.save_image(image, options['zipper'], bg))
|
259
271
|
if image_local_path && File.exist?(image_local_path)
|
260
272
|
pdf.image(image_local_path, :fit => [button_width - 10, button_height - text_height - 5], :position => :center, :vposition => :center) rescue nil
|
261
273
|
File.unlink image_local_path
|
data/lib/obf/utils.rb
CHANGED
@@ -179,25 +179,40 @@ module OBF::Utils
|
|
179
179
|
# png files need to be converted to make sure they don't have a transparent bg, or
|
180
180
|
# else performance takes a huge hit.
|
181
181
|
`cp #{file.path} #{file.path}#{extension}`
|
182
|
-
"#{file.path}#{extension}"
|
182
|
+
image['local_path'] = "#{file.path}#{extension}"
|
183
183
|
else
|
184
184
|
background ||= 'white'
|
185
185
|
size = 400
|
186
186
|
path = file.path
|
187
187
|
if image['content_type'] && image['content_type'].match(/svg/)
|
188
|
-
|
189
|
-
|
188
|
+
cmd = "convert -background \"#{background}\" -density 300 -resize #{size}x#{size} -gravity center -extent #{size}x#{size} #{file.path} -flatten #{file.path}.jpg"
|
189
|
+
OBF::Utils.log " #{cmd}"
|
190
|
+
image['local_path'] = "#{file.path}.jpg"
|
191
|
+
if image['threadable']
|
192
|
+
thr = Process.detach(Process.spawn(cmd))
|
193
|
+
return thr
|
194
|
+
else
|
195
|
+
`#{cmd}`
|
196
|
+
end
|
197
|
+
# `convert -background "#{background}" -density 300 -resize #{size}x#{size} -gravity center -extent #{size}x#{size} #{file.path} -flatten #{file.path}.jpg`
|
190
198
|
# `rsvg-convert -w #{size} -h #{size} -a #{file.path} > #{file.path}.png`
|
191
|
-
path = "#{file.path}.jpg"
|
192
199
|
else
|
193
|
-
|
194
|
-
|
195
|
-
|
200
|
+
cmd = "convert #{path} -density 300 -resize #{size}x#{size} -background \"#{background}\" -gravity center -extent #{size}x#{size} -flatten #{path}.jpg"
|
201
|
+
OBF::Utils.log " #{cmd}"
|
202
|
+
image['local_path'] = "#{path}.jpg"
|
203
|
+
if image['threadable']
|
204
|
+
thr = Process.detach(Process.spawn(cmd))
|
205
|
+
return thr
|
206
|
+
else
|
207
|
+
`#{cmd}`
|
208
|
+
end
|
209
|
+
# `convert #{path} -density 300 -resize #{size}x#{size} -background "#{background}" -gravity center -extent #{size}x#{size} -flatten #{path}.jpg`
|
196
210
|
end
|
197
211
|
|
198
212
|
OBF::Utils.log " finished image"
|
199
|
-
|
213
|
+
image['local_path']
|
200
214
|
end
|
215
|
+
image['local_path']
|
201
216
|
end
|
202
217
|
|
203
218
|
def self.sound_raw(url)
|