ayn-flickr_fu 0.3.6 → 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +1 -1
- data/flickr_fu.gemspec +2 -2
- data/lib/flickr/photo.rb +38 -39
- metadata +2 -2
data/VERSION.yml
CHANGED
data/flickr_fu.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{flickr_fu}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ben Wyrosdick", "Maciej Bilas"]
|
12
|
-
s.date = %q{2009-09-
|
12
|
+
s.date = %q{2009-09-16}
|
13
13
|
s.description = %q{Provides a ruby interface to flickr via the REST api}
|
14
14
|
s.email = %q{ayn@andrewng.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/flickr/photo.rb
CHANGED
@@ -4,7 +4,7 @@ class Flickr::Photos::Photo
|
|
4
4
|
attr_accessor :license_id, :uploaded_at, :taken_at, :owner_name, :icon_server, :original_format, :updated_at, :geo, :tags, :machine_tags, :o_dims, :views, :media, :url_l # extra attributes
|
5
5
|
attr_accessor :info_added, :description, :original_secret, :owner_username, :owner_realname, :url_photopage, :notes # info attributes
|
6
6
|
attr_accessor :comments # comment attributes
|
7
|
-
|
7
|
+
|
8
8
|
# create a new instance of a flickr photo.
|
9
9
|
#
|
10
10
|
# Params
|
@@ -55,22 +55,21 @@ class Flickr::Photos::Photo
|
|
55
55
|
# :original - original image, either a jpg, gif or png, depending on source format
|
56
56
|
#
|
57
57
|
def image_url(size = :medium)
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
58
|
+
# It turns out that flickr always stores all the sizes of the picture even when getSizes call returns otherwise.
|
59
|
+
# Not calling getSizes is also very important for performance reasons.
|
60
|
+
# Retrieving 30 search results means calling the API 31 times if you call getSizes every time.
|
61
|
+
# Mind that you still need to call getSizes if you go out for the original image.
|
62
|
+
if size == :original
|
63
|
+
size_hash[size.to_s].source if size_hash.has_key? size.to_s
|
64
|
+
else
|
65
|
+
key = "_#{size_key(size.to_sym)}"
|
66
|
+
key = "" if key == "_"
|
67
|
+
"http://farm#{farm}.static.flickr.com/#{server}/#{id}_#{secret}#{key}.jpg"
|
68
|
+
end
|
69
69
|
end
|
70
70
|
|
71
71
|
def photopage_url
|
72
|
-
|
73
|
-
url_photopage
|
72
|
+
"http://www.flickr.com/photos/#{owner}/#{id}/"
|
74
73
|
end
|
75
74
|
|
76
75
|
def video_url
|
@@ -106,7 +105,7 @@ class Flickr::Photos::Photo
|
|
106
105
|
f
|
107
106
|
end
|
108
107
|
end
|
109
|
-
|
108
|
+
|
110
109
|
# Add tags to a photo.
|
111
110
|
#
|
112
111
|
# Params
|
@@ -117,7 +116,7 @@ class Flickr::Photos::Photo
|
|
117
116
|
@flickr.send_request('flickr.photos.addTags', {:photo_id => self.id, :tags => tags}, :post)
|
118
117
|
true
|
119
118
|
end
|
120
|
-
|
119
|
+
|
121
120
|
# Add comment to a photo as the currently authenticated user.
|
122
121
|
#
|
123
122
|
# Params
|
@@ -128,7 +127,7 @@ class Flickr::Photos::Photo
|
|
128
127
|
@flickr.send_request('flickr.photos.comments.addComment', {:photo_id => self.id, :comment_text => message}, :post)
|
129
128
|
true
|
130
129
|
end
|
131
|
-
|
130
|
+
|
132
131
|
# Add a note to a photo. Coordinates and sizes are in pixels, based on the 500px image size shown on individual photo pages.
|
133
132
|
#
|
134
133
|
# Params
|
@@ -147,7 +146,7 @@ class Flickr::Photos::Photo
|
|
147
146
|
@flickr.send_request('flickr.photos.notes.add', {:photo_id => self.id, :note_x => x, :note_y => y, :note_w => w, :note_h => h, :note_text => message}, :post)
|
148
147
|
true
|
149
148
|
end
|
150
|
-
|
149
|
+
|
151
150
|
# Rotate a photo.
|
152
151
|
#
|
153
152
|
# Params
|
@@ -158,7 +157,7 @@ class Flickr::Photos::Photo
|
|
158
157
|
@flickr.send_request('flickr.photos.transform.rotate', {:photo_id => self.id, :degrees => degrees}, :post)
|
159
158
|
true
|
160
159
|
end
|
161
|
-
|
160
|
+
|
162
161
|
# return the license associated with the photo
|
163
162
|
#
|
164
163
|
def license
|
@@ -187,7 +186,7 @@ class Flickr::Photos::Photo
|
|
187
186
|
end
|
188
187
|
@location = location
|
189
188
|
end
|
190
|
-
|
189
|
+
|
191
190
|
# Sets the license for a photo.
|
192
191
|
#
|
193
192
|
# Params
|
@@ -197,7 +196,7 @@ class Flickr::Photos::Photo
|
|
197
196
|
@flickr.send_request('flickr.photos.licenses.setLicense', {:photo_id => self.id, :license_id => license_id}, :post)
|
198
197
|
true
|
199
198
|
end
|
200
|
-
|
199
|
+
|
201
200
|
def description # :nodoc:
|
202
201
|
attach_info
|
203
202
|
@description
|
@@ -229,31 +228,31 @@ class Flickr::Photos::Photo
|
|
229
228
|
self.comments = []
|
230
229
|
else
|
231
230
|
rsp = @flickr.send_request('flickr.photos.comments.getList', :photo_id => self.id)
|
232
|
-
|
231
|
+
|
233
232
|
self.comments = []
|
234
|
-
|
233
|
+
|
235
234
|
rsp.comments.comment.each do |comment|
|
236
235
|
self.comments << Flickr::Photos::Comment.new(:id => comment[:id],
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
236
|
+
:comment => comment.to_s,
|
237
|
+
:author => comment[:author],
|
238
|
+
:author_name => comment[:authorname],
|
239
|
+
:permalink => comment[:permalink],
|
240
|
+
:created_at => (Time.at(comment[:datecreate].to_i) rescue nil))
|
242
241
|
end
|
243
242
|
end
|
244
243
|
|
245
244
|
self.comments
|
246
245
|
end
|
247
246
|
end
|
248
|
-
|
247
|
+
|
249
248
|
def sizes # :nodoc:
|
250
249
|
@sizes ||= begin
|
251
250
|
rsp = @flickr.send_request('flickr.photos.getSizes', :photo_id => self.id)
|
252
|
-
|
251
|
+
|
253
252
|
_sizes = []
|
254
253
|
rsp.sizes.size.each do |size|
|
255
254
|
_sizes << Flickr::Photos::Size.new(:label => size[:label], :width => size[:width],
|
256
|
-
|
255
|
+
:height => size[:height], :source => size[:source], :url => size[:url])
|
257
256
|
end
|
258
257
|
_sizes
|
259
258
|
end
|
@@ -277,7 +276,7 @@ class Flickr::Photos::Photo
|
|
277
276
|
|
278
277
|
private
|
279
278
|
attr_accessor :comment_count
|
280
|
-
|
279
|
+
|
281
280
|
# convert the size to the key used in the flickr url
|
282
281
|
def size_key(size)
|
283
282
|
case size.to_sym
|
@@ -308,13 +307,13 @@ class Flickr::Photos::Photo
|
|
308
307
|
|
309
308
|
rsp.photo.notes.note.each do |note|
|
310
309
|
self.notes << Flickr::Photos::Note.new(:id => note[:id],
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
310
|
+
:note => note.to_s,
|
311
|
+
:author => note[:author],
|
312
|
+
:author_name => note[:authorname],
|
313
|
+
:x => note[:x],
|
314
|
+
:y => note[:y],
|
315
|
+
:width => note[:w],
|
316
|
+
:height => note[:h])
|
318
317
|
end if rsp.photo.notes.note
|
319
318
|
end
|
320
319
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ayn-flickr_fu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Wyrosdick
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-09-
|
13
|
+
date: 2009-09-16 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|