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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/zerofetcher.rb +64 -19
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 34456d525ebdb695c9105fb7f14a5a17abed0e84
4
- data.tar.gz: ec115483c661a8aa345b8eaf14bc06e221f3f537
3
+ metadata.gz: c57767a0284f41f45d5820e0b7a1d7c19ca46dab
4
+ data.tar.gz: 2fc1ba2047b9da8d480067fa401ff497f6a267dc
5
5
  SHA512:
6
- metadata.gz: 73a7d87f3221db262f6706108accbc3aac419a6821a6414f8ba6225c27f77b8c39f75df13a6226151ad30aaff144b121096712cbba1c7beb6b4adde1a3bac9c9
7
- data.tar.gz: 185ef9e47fc2b5c018591bc658f3eaaa41f308aadeb4caeb99e432e78acffa9b877d752d530bb03178ae0b65148d56650e231af2021266d14311f0b0f7176339
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.getAndSaveFile(end_point + '/media/images/pages/'+site_id+'/' + page['image'], jekyll_path+'/assets/images/pages/' + page['image'])
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.getAndSaveFile(end_point + '/media/images/posts/'+site_id+'/' + post['image'], jekyll_path+'/assets/images/posts/' + post['image'])
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.getAndSaveFile(end_point + '/media/images/galleries/photos/' + gallery['id'] + '/' + photo['image'], jekyll_path+'/assets/images/galleries/' + gallery['id'] + '/' + photo['image'])
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.getAndSaveFile(end_point + '/media/images/calendar/'+site_id+'/' + event['image'], jekyll_path+'/assets/images/calendar/' + event['image'])
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.getAndSaveFile(src_image, menu_image_path + '/' + menu['image'])
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.getAndSaveFile(src_image, image_path+'/' + item['image'])
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.getAndSaveFile(src_image, image_path+'/' + val)
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.getAndSaveFile(src_image, image_path+'/' + val)
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
- self.log('Get/Save ' + dest)
433
- uri = URI.encode(source)
434
-
435
- begin
436
- open(dest, 'wb') do |file|
437
- file << open(uri).read
438
- end
439
- rescue OpenURI::HTTPError => ex
440
- self.log('source ['+source+'] Could not be opened to save')
441
- end
442
- end
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.21
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-04-28 00:00:00.000000000 Z
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