zooniverse_data 0.0.4 → 0.0.5

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: 286f402b39013acb7372d1df4aa5487e4248cb46
4
- data.tar.gz: a979559eb0fe82b377ac6a717b35b9147a9cdc30
3
+ metadata.gz: 53cd2b2843d40809cdc0faee1debece7214d97cd
4
+ data.tar.gz: ecf9011a824ca59388c926625b1ac4a7e5e2ce77
5
5
  SHA512:
6
- metadata.gz: ece0a84364b8f630e88080475df835a1a04dcd52cff32310179e7dd50b9a0a0e1eba947af574615ae1a0ea0d385dbf0eb1e951c696e244b374c0d579e7079c05
7
- data.tar.gz: f8a18687e3d0876b94afb6fb052da09ae454518c3f63166b26b076fb51f629862011ecb7df69bdae6924a5fdee31b73575522396a708620937c1798105da412a
6
+ metadata.gz: 3ab460f29dde5bddf4e08b525a70d99261e7fa49b8fb8f00279f0e0dae347330970373dab331c22700115821ae7e4a51ee0a32f332af673015d9fb6750b4425a
7
+ data.tar.gz: 467c59c6cc5bc518d683003738fe8a1df58f48c3e5beb03a85cae0086d4e4f47346a81a6940728e02b32291216ff7e3f7060f06cef27a4e484722d73d99f08b9
@@ -72,15 +72,26 @@ module ZooniverseData
72
72
  self.flags = []
73
73
  end
74
74
 
75
- def resize(width: width, height: height, type: nil)
75
+ def command(string)
76
+ tap do
77
+ self.flags << string
78
+ end
79
+ end
80
+
81
+ def resize(width: nil, height: nil, force: true, type: nil)
76
82
  tap do
77
83
  resize_type = type ? "#{ type }-resize" : 'resize'
78
- self.flags << "-#{ resize_type } #{ width }x#{ height }\!"
84
+
85
+ if width && height
86
+ self.flags << "-#{ resize_type } #{ width }x#{ height }#{ force ? '\!' : '' }"
87
+ elsif width || height
88
+ self.flags << "-#{ resize_type } #{ [width, height].join('x') }"
89
+ end
79
90
  end
80
91
  end
81
92
 
82
- def adaptive_resize(width: width, height: height)
83
- resize width: width, height: height, type: 'adaptive'
93
+ def adaptive_resize(width: width, height: height, force: true)
94
+ resize width: width, height: height, type: 'adaptive', force: force
84
95
  end
85
96
 
86
97
  def percentage_resize(percentage, type: nil)
@@ -1,8 +1,9 @@
1
1
  module ZooniverseData
2
2
  module Projects
3
- autoload :Default, 'zooniverse_data/projects/default'
4
- autoload :Asteroid, 'zooniverse_data/projects/asteroid'
5
- autoload :MilkyWay, 'zooniverse_data/projects/milky_way'
6
- autoload :Sunspot, 'zooniverse_data/projects/sunspot'
3
+ autoload :Default, 'zooniverse_data/projects/default'
4
+ autoload :Asteroid, 'zooniverse_data/projects/asteroid'
5
+ autoload :MilkyWay, 'zooniverse_data/projects/milky_way'
6
+ autoload :Serengeti, 'zooniverse_data/projects/serengeti'
7
+ autoload :Sunspot, 'zooniverse_data/projects/sunspot'
7
8
  end
8
9
  end
@@ -0,0 +1,41 @@
1
+ module ZooniverseData
2
+ module Projects
3
+ class Serengeti
4
+ include Helpers
5
+
6
+ def customize_subject
7
+ entry.update :$set => { 'metadata.capture_event_id' => entry.product_id.to_s }
8
+ new_locations = {
9
+ 'standard' => [],
10
+ 'thumbnail' => [],
11
+ 'large' => []
12
+ }
13
+
14
+ entry.location['standard'].each do |path|
15
+ large_image = large_converter path
16
+ new_locations['large'] << large_image
17
+ new_locations['standard'] << converter_for(large_image, type: 'standard', max_size: 600)
18
+ new_locations['thumbnail'] << converter_for(large_image, type: 'thumbnail', max_size: 300)
19
+ end
20
+
21
+ set_location new_locations
22
+ end
23
+
24
+ def large_converter(path)
25
+ convert_image(path)
26
+ .command('-gravity South -chop 0x100')
27
+ .write_to(prefix: 'large')
28
+ .path
29
+ end
30
+
31
+ def converter_for(path, type: type, max_size: max_size)
32
+ convert_image(path, remove_original: false)
33
+ .command('-gravity South -chop 0x100')
34
+ .resize(width: max_size, height: max_size, force: false)
35
+ .quality(80)
36
+ .write_to(prefix: type)
37
+ .path
38
+ end
39
+ end
40
+ end
41
+ end
@@ -6,8 +6,12 @@ module ZooniverseData
6
6
  def customize_subject
7
7
  standard = convert_to_jpeg entry.location['standard']
8
8
  inverted = convert_image(standard.path, remove_original: false).invert.write_to(prefix: 'inverted')
9
- context_image = convert_to_jpeg(entry.location['context']) if entry.location['context']
10
- set_location standard: standard.path, inverted: inverted.path, context: context_image.try(:path)
9
+ if entry.location['context']
10
+ context_image = convert_to_jpeg(entry.location['context'])
11
+ set_location standard: standard.path, inverted: inverted.path, context: context_image.try(:path)
12
+ else
13
+ set_location standard: standard.path, inverted: inverted.path
14
+ end
11
15
  end
12
16
  end
13
17
  end
@@ -1,3 +1,3 @@
1
1
  module ZooniverseData
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -20,6 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency 'bundler', '~> 1.5'
22
22
  spec.add_development_dependency 'rake', '10.1.0'
23
+ spec.add_development_dependency 'bson', '1.9.2'
24
+ spec.add_development_dependency 'bson_ext', '1.9.2'
23
25
  spec.add_runtime_dependency 'fastimage', '1.6.0'
24
26
  spec.add_runtime_dependency 'aws-sdk', '1.30.0'
25
27
  spec.required_ruby_version = '>= 2.0.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zooniverse_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Parrish
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-24 00:00:00.000000000 Z
11
+ date: 2014-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 10.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: bson
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.9.2
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.9.2
55
+ - !ruby/object:Gem::Dependency
56
+ name: bson_ext
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.9.2
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.9.2
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: fastimage
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -87,6 +115,7 @@ files:
87
115
  - lib/zooniverse_data/projects/asteroid.rb
88
116
  - lib/zooniverse_data/projects/default.rb
89
117
  - lib/zooniverse_data/projects/milky_way.rb
118
+ - lib/zooniverse_data/projects/serengeti.rb
90
119
  - lib/zooniverse_data/projects/sunspot.rb
91
120
  - lib/zooniverse_data/version.rb
92
121
  - zooniverse_data.gemspec