getty 0.0.1 → 0.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: 13da70c9a176445fc51e29399fb6c22304b25663
4
- data.tar.gz: bddba3951e594928b99e6a5fa3c0e4c4813243c4
3
+ metadata.gz: c5be612e803b67928db231eac256c022b849ff07
4
+ data.tar.gz: d4dbf24bdc8a2984c3dd7da3d2f56a1e19a95308
5
5
  SHA512:
6
- metadata.gz: 913aa464ad4cd1cee9463ed5b09e06a34030e31758835a0a4f96d252a7b9e9614cb8e05f3bbc7905d2b8a47b2f685d320900c5422b8af597355c394c16657e72
7
- data.tar.gz: e2cf4e4c5956be003762b8bb37b08bcea56df926764050af3c0fe2668f743bfdf2e3a03581a5d2f6f65fe769b184a7b4f020aa74191101bf23018cf80ea4060f
6
+ metadata.gz: 7afdf0bc61d8b8f1f4b14780cdabaf4e56c69e6c7e173272644a67fde1ab29262e0289e92d5cec6d9ab7ed072796c7a18b6d9f5ce8e5087be9785ea8d74f7686
7
+ data.tar.gz: beb490c5d9c818a9899ad86c8c0d91c707f31db77a18d6b6594d752218382e728de76ad8edd76662574f9d7a10f307617a415ec9c3e8cb36668085ea8e5b3fe6
data/README.md CHANGED
@@ -1,17 +1,42 @@
1
1
  # Getty API DRY mode
2
2
  Example usage:
3
3
 
4
+ # SETUP GETTY API
4
5
  Getty.configure do |config|
5
- config.system_id = 'idnumber'
6
- config.system_pwd = 'passwordhash'
7
- config.user_name = "ithinkthisbemashery"
8
- config.user_pwd = "password"
6
+ config.system_id = '10799'
7
+ config.system_pwd = 'vMK8LPFBcaA0JWug3VReKcN45TtzCVtqWjnuLcHbyF0='
8
+ config.user_name = "seedhacklon_api"
9
+ config.user_pwd = "HJARZH1p7awxi68"
9
10
  end
11
+
12
+ # CREATE SESSION
10
13
  @client = Getty::Client.new
11
14
  session = @client.create_session
12
- session = @client.renew_session session.CreateSessionResult.SecureToken
13
- token = session.RenewSessionResult.Token
14
- details = @client.image_details(token, :image_ids => [102284082, 88690189])
15
- details.GetImageDetailsResult.Images.each do |image_result|
16
- puts "#{image_result.Artist} #{image_result.Caption}"
15
+ token = session.SecureToken
16
+
17
+ # SEARCH RESULTS
18
+ search_results = @client.search(token, :query => "soccer", :limit => 1)
19
+
20
+ image_ids = []
21
+ search_results.Images.each do |sr|
22
+ puts "#{sr.ImageId} #{sr.Artist} #{sr.Caption}"
23
+ image_ids << sr.ImageId
24
+ end
25
+
26
+ # AUTHORIZE DOWNLOADS
27
+ authorizations = @client.largest_image_authorizations(token, :image_ids => image_ids)
28
+
29
+ download_tokens = []
30
+ authorizations.Images.each do |image|
31
+ image.Authorizations.each do |auth|
32
+ download_tokens << auth.DownloadToken
33
+ end
34
+ end
35
+
36
+ # PRINT DOWNLOAD STRING
37
+ download = @client.download_image(token, :download_tokens => download_tokens)
38
+ download.DownloadUrls.each do |url|
39
+ system "open \"#{url.UrlAttachment}\""
17
40
  end
41
+
42
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "getty"
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Reza Jelveh"]
@@ -20,6 +20,62 @@ module Getty
20
20
  return_error_or_body(response, response.body)
21
21
  end
22
22
 
23
+ def largest_image_authorizations(token, options={})
24
+ image_ids = options[:image_ids] || []
25
+ response = connection.post do |req|
26
+ req.url "download/GetLargestImageDownloadAuthorizations"
27
+ req.body = {
28
+ :RequestHeader => {
29
+ :Token => token,
30
+ # :CoordinationId => ""
31
+ },
32
+ :GetLargestImageDownloadAuthorizationsRequestBody => {
33
+ :Images => image_ids.collect { |ii| { :ImageId => ii } }
34
+ # :Images => image_ids
35
+ }
36
+ }
37
+
38
+ end
39
+ return_error_or_body(response, response.body.GetLargestImageDownloadAuthorizationsResult)
40
+ end
41
+
42
+ def download_image(token, options={})
43
+ download_tokens = options[:download_tokens] || []
44
+ response = connection.post do |req|
45
+ req.url "download/CreateDownloadRequest"
46
+ req.body = {
47
+ :RequestHeader => {
48
+ :Token => token,
49
+ # :CoordinationId => "MyUniqueId"
50
+ },
51
+ :CreateDownloadRequestBody =>
52
+ { :DownloadItems =>
53
+ download_tokens.collect { |dt| { :DownloadToken => dt } }
54
+ }
55
+ }
56
+ end
57
+ return_error_or_body(response, response.body.CreateDownloadRequestResult)
58
+ end
59
+
60
+ def search(token, options={})
61
+ query = options[:query] || ""
62
+ limit = options[:limit] || 25
63
+ response = connection.post do |req|
64
+ req.url "search/SearchForImages"
65
+ req.body = {
66
+ :RequestHeader => { :Token => token},
67
+ :SearchForImages2RequestBody => {
68
+ :Query => { :SearchPhrase => query},
69
+ :ResultOptions => {
70
+ :ItemCount => limit,
71
+ :ItemStartNumber => 1
72
+ },
73
+ :Filter => { :ImageFamilies => ["creative"] }
74
+ }
75
+ }
76
+ end
77
+ return_error_or_body(response, response.body.SearchForImagesResult)
78
+ end
23
79
  end
24
80
  end
25
81
 
@@ -18,7 +18,7 @@ module Getty
18
18
  }
19
19
  }
20
20
  end
21
- return_error_or_body(response, response.body)
21
+ return_error_or_body(response, response.body.CreateSessionResult)
22
22
  end
23
23
 
24
24
  def renew_session(token)
@@ -36,7 +36,7 @@ module Getty
36
36
  }
37
37
  }
38
38
  end
39
- return_error_or_body(response, response.body)
39
+ return_error_or_body(response, response.body.RenewSessionResult)
40
40
  end
41
41
  end
42
42
  end
@@ -25,6 +25,13 @@ class TestClient < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  should "create session" do
28
+ # session = @client.renew_session session.CreateSessionResult.SecureToken
29
+ # token = session.RenewSessionResult.Token
30
+ # details = @client.image_details(token, :image_ids => image_ids)
31
+ # details.GetImageDetailsResult.Images.each do |image_result|
32
+ # puts "#{image_result.Artist} #{image_result.Caption}"
33
+ # end
34
+
28
35
  Getty.configure do |config|
29
36
  config.system_id = '10799'
30
37
  config.system_pwd = 'vMK8LPFBcaA0JWug3VReKcN45TtzCVtqWjnuLcHbyF0='
@@ -33,11 +40,27 @@ class TestClient < Test::Unit::TestCase
33
40
  end
34
41
  @client = Getty::Client.new
35
42
  session = @client.create_session
36
- session = @client.renew_session session.CreateSessionResult.SecureToken
37
- token = session.RenewSessionResult.Token
38
- details = @client.image_details(token, :image_ids => [102284082, 88690189])
39
- details.GetImageDetailsResult.Images.each do |image_result|
40
- puts "#{image_result.Artist} #{image_result.Caption}"
43
+ token = session.SecureToken
44
+ search_results = @client.search(token, :query => "hello", :limit => 1)
45
+
46
+ image_ids = []
47
+ search_results.Images.each do |sr|
48
+ puts "#{sr.ImageId} #{sr.Artist} #{sr.Caption}"
49
+ image_ids << sr.ImageId
50
+ end
51
+
52
+ authorizations = @client.largest_image_authorizations(token, :image_ids => image_ids)
53
+
54
+ download_tokens = []
55
+ authorizations.Images.each do |image|
56
+ image.Authorizations.each do |auth|
57
+ download_tokens << auth.DownloadToken
58
+ end
59
+ end
60
+
61
+ download = @client.download_image(token, :download_tokens => download_tokens)
62
+ download.DownloadUrls.each do |url|
63
+ system "open \"#{url.UrlAttachment}\""
41
64
  end
42
65
  end
43
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reza Jelveh