zerofetcher 0.0.21 → 0.0.22
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 +4 -4
- data/lib/zerofetcher.rb +64 -19
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c57767a0284f41f45d5820e0b7a1d7c19ca46dab
|
4
|
+
data.tar.gz: 2fc1ba2047b9da8d480067fa401ff497f6a267dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27a32aac9dd2c1a97175996a366009b38f878deaab74e4030825230b9fe97361d49f01f25b3ea77276f6bccf73bef6d96a04fd812303f4617fcfae1c1f215031
|
7
|
+
data.tar.gz: b33a341a676f7cb1726a02f540a78c0bc99e4357e7d335f8ba975c61be997a19a5975c61d76aeb43697b2ac4590985abcb8792fc1d3dc005289f38cdcc040d3a
|
data/lib/zerofetcher.rb
CHANGED
@@ -13,6 +13,7 @@ require 'code/JekyllPost.rb'
|
|
13
13
|
class ZeroFetcher
|
14
14
|
@@logger
|
15
15
|
@@jekyll_path
|
16
|
+
@@image_variants
|
16
17
|
|
17
18
|
def self.run
|
18
19
|
# Paths
|
@@ -68,6 +69,9 @@ class ZeroFetcher
|
|
68
69
|
File.write(jekyll_path+'/_data/site.json', JSON.pretty_generate(data['site']))
|
69
70
|
self.log('Writing File /_data/site.json')
|
70
71
|
end
|
72
|
+
|
73
|
+
# Image Variants
|
74
|
+
@@image_variants = data['image_variants']
|
71
75
|
|
72
76
|
# Pages
|
73
77
|
if data.key?("pages")
|
@@ -113,7 +117,7 @@ class ZeroFetcher
|
|
113
117
|
|
114
118
|
# save image
|
115
119
|
if page['image']
|
116
|
-
self.
|
120
|
+
self.getAndSaveImages(end_point + '/media/images/pages/'+site_id+'/' + page['image'], jekyll_path+'/assets/images/pages/' + page['image'])
|
117
121
|
end
|
118
122
|
end
|
119
123
|
|
@@ -180,7 +184,7 @@ class ZeroFetcher
|
|
180
184
|
|
181
185
|
# save image
|
182
186
|
if post['image']
|
183
|
-
self.
|
187
|
+
self.getAndSaveImages(end_point + '/media/images/posts/'+site_id+'/' + post['image'], jekyll_path+'/assets/images/posts/' + post['image'])
|
184
188
|
end
|
185
189
|
end
|
186
190
|
end
|
@@ -205,7 +209,7 @@ class ZeroFetcher
|
|
205
209
|
self.log(" - " + gallery['name'] + ' has ' + gallery['photos'].length.to_s + ' photos')
|
206
210
|
|
207
211
|
gallery['photos'].each do |photo|
|
208
|
-
self.
|
212
|
+
self.getAndSaveImages(end_point + '/media/images/galleries/photos/' + gallery['id'] + '/' + photo['image'], jekyll_path+'/assets/images/galleries/' + gallery['id'] + '/' + photo['image'])
|
209
213
|
end
|
210
214
|
end
|
211
215
|
end
|
@@ -226,7 +230,7 @@ class ZeroFetcher
|
|
226
230
|
if data['calendar'].key?("events")
|
227
231
|
data['calendar']['events'].each do |event|
|
228
232
|
if event['image']
|
229
|
-
self.
|
233
|
+
self.getAndSaveImages(end_point + '/media/images/calendar/'+site_id+'/' + event['image'], jekyll_path+'/assets/images/calendar/' + event['image'])
|
230
234
|
end
|
231
235
|
|
232
236
|
if event['file']
|
@@ -254,7 +258,7 @@ class ZeroFetcher
|
|
254
258
|
|
255
259
|
src_image = end_point + '/media/images/menus/' + site_id + '/' + menu['image']
|
256
260
|
|
257
|
-
self.
|
261
|
+
self.getAndSaveImages(src_image, menu_image_path + '/' + menu['image'])
|
258
262
|
end
|
259
263
|
if menu['download']
|
260
264
|
menu_download_path = jekyll_path+'/assets/files/menus'
|
@@ -271,7 +275,7 @@ class ZeroFetcher
|
|
271
275
|
|
272
276
|
src_image = end_point + '/media/images/menu_items/'+menu['id']+'/' + item['image']
|
273
277
|
|
274
|
-
self.
|
278
|
+
self.getAndSaveImages(src_image, image_path+'/' + item['image'])
|
275
279
|
end
|
276
280
|
end
|
277
281
|
end
|
@@ -346,7 +350,7 @@ class ZeroFetcher
|
|
346
350
|
|
347
351
|
src_image = end_point + '/media/images/'+collection_type+'/'+site_id+'/' + val
|
348
352
|
|
349
|
-
self.
|
353
|
+
self.getAndSaveImages(src_image, image_path+'/' + val)
|
350
354
|
when 'file'
|
351
355
|
# Directory Check
|
352
356
|
file_path = jekyll_path+'/assets/files/'+collection_type
|
@@ -376,7 +380,7 @@ class ZeroFetcher
|
|
376
380
|
|
377
381
|
src_image = end_point + '/media/images/'+collection_type+'/'+site_id+'/'+row['id']+'/' + val
|
378
382
|
|
379
|
-
self.
|
383
|
+
self.getAndSaveImages(src_image, image_path+'/' + val)
|
380
384
|
when 'file'
|
381
385
|
# Directory Check
|
382
386
|
file_path = jekyll_path+'/assets/files/'+collection_type+'/'+hasmany_type+'/'+row['id']
|
@@ -429,17 +433,58 @@ class ZeroFetcher
|
|
429
433
|
|
430
434
|
def self.getAndSaveFile(source, dest)
|
431
435
|
if !Pathname.new(dest).file?
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
436
|
+
self.log('Get/Save ' + dest)
|
437
|
+
uri = URI.encode(source)
|
438
|
+
|
439
|
+
begin
|
440
|
+
open(dest, 'wb') do |file|
|
441
|
+
file << open(uri).read
|
442
|
+
end
|
443
|
+
|
444
|
+
rescue OpenURI::HTTPError => ex
|
445
|
+
self.log('source ['+source+'] Could not be opened to save')
|
446
|
+
end
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
def self.getAndSaveImages(source, dest)
|
451
|
+
# Save Original
|
452
|
+
self.getAndSaveFile(source, dest)
|
453
|
+
|
454
|
+
# Save Variants
|
455
|
+
if @@image_variants
|
456
|
+
@@image_variants.each do |variant|
|
457
|
+
v_source = self.getImageVariantSource(source, variant)
|
458
|
+
v_dest = self.getImageVariantDestination(dest, variant)
|
459
|
+
self.getAndSaveFile( v_source, v_dest )
|
460
|
+
end
|
461
|
+
end
|
462
|
+
end
|
463
|
+
|
464
|
+
def self.getImageVariantSource(source, variant)
|
465
|
+
qs = {}
|
466
|
+
|
467
|
+
if variant['width']
|
468
|
+
qs['w'] = variant['width']
|
469
|
+
end
|
470
|
+
if variant['height']
|
471
|
+
qs['h'] = variant['height']
|
472
|
+
end
|
473
|
+
if variant['crop']
|
474
|
+
qs['zoomfit'] = "1"
|
475
|
+
end
|
476
|
+
|
477
|
+
new_source = source + "?" + URI.encode_www_form(qs)
|
478
|
+
|
479
|
+
return new_source
|
480
|
+
end
|
481
|
+
|
482
|
+
def self.getImageVariantDestination(source, variant)
|
483
|
+
ext = File.extname( source )
|
484
|
+
basename = File.basename( source, ext )
|
485
|
+
dirname = File.dirname( source )
|
486
|
+
|
487
|
+
return dirname + '/' + basename + '_' + variant['key'] + ext
|
443
488
|
end
|
444
489
|
|
445
490
|
def self.cleanUpFolder(path, files)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zerofetcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Liccardo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Fetches content from zero
|
14
14
|
email: brian@d3corp.com
|