giddy 0.0.4 → 0.0.5
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.
- data/Gemfile.lock +1 -1
- data/README.md +8 -0
- data/lib/giddy/download.rb +6 -0
- data/lib/giddy/image.rb +11 -0
- data/lib/giddy/version.rb +1 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -46,6 +46,14 @@ Download request:
|
|
46
46
|
puts image.download_largest
|
47
47
|
```
|
48
48
|
|
49
|
+
To get the available sizes, and then the URL of the download for the smallest:
|
50
|
+
```ruby
|
51
|
+
image = client.search(:image_id => "136094606")
|
52
|
+
# image.sizes is ordered by file size, smallest to largest
|
53
|
+
smallest = image.sizes.first
|
54
|
+
puts image.download(smallest).url_attachment
|
55
|
+
```
|
56
|
+
|
49
57
|
It's also possible to cache session information so that you don't have to reauthenticate on each client creation. For instance:
|
50
58
|
```ruby
|
51
59
|
client = Giddy::Client.new("username", "password")
|
data/lib/giddy/download.rb
CHANGED
@@ -4,6 +4,12 @@ module Giddy
|
|
4
4
|
super mediator, "download", true
|
5
5
|
end
|
6
6
|
|
7
|
+
def get_image_download_authorizations(image_id, sizes)
|
8
|
+
images = sizes.map { |s| { :ImageId => image_id, :SizeKey => s } }
|
9
|
+
result = gettyup :GetImageDownloadAuthorizations, { :ImageSizes => images }
|
10
|
+
result["Images"].inject({}) { |h,i| h[i["SizeKey"]] = Utils.rubified_hash(i); h }
|
11
|
+
end
|
12
|
+
|
7
13
|
def get_largest_image_download_authorizations(ids)
|
8
14
|
ids = [ids].flatten.map { |id| { :ImageId => id } }
|
9
15
|
result = gettyup :GetLargestImageDownloadAuthorizations, { :Images => ids }
|
data/lib/giddy/image.rb
CHANGED
@@ -13,6 +13,17 @@ module Giddy
|
|
13
13
|
@downloader ||= Download.new(@mediator)
|
14
14
|
end
|
15
15
|
|
16
|
+
# return sorted sizes, smallest to largest
|
17
|
+
def sizes
|
18
|
+
sizes_downloadable_images.sort { |a,b| a[:file_size_in_bytes] <=> b[:file_size_in_bytes] }
|
19
|
+
end
|
20
|
+
|
21
|
+
def download(size)
|
22
|
+
sizekey = size[:size_key]
|
23
|
+
result = downloader.get_image_download_authorizations(@attrs[:image_id], [sizekey])
|
24
|
+
download_request result[sizekey][:authorizations].first[:download_token]
|
25
|
+
end
|
26
|
+
|
16
27
|
def largest_available
|
17
28
|
result = downloader.get_largest_image_download_authorizations(@attrs[:image_id])
|
18
29
|
result[@attrs[:image_id]]
|
data/lib/giddy/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: giddy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Brian Muller
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2013-10-
|
13
|
+
date: 2013-10-07 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -97,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
97
|
requirements:
|
98
98
|
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
hash:
|
100
|
+
hash: 990344511966185404
|
101
101
|
segments:
|
102
102
|
- 0
|
103
103
|
version: "0"
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
requirements:
|
107
107
|
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
hash:
|
109
|
+
hash: 990344511966185404
|
110
110
|
segments:
|
111
111
|
- 0
|
112
112
|
version: "0"
|