flickr 1.0.0 → 1.0.1
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/Rakefile +6 -6
- data/flickr.rb +30 -26
- metadata +34 -28
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'rake/rdoctask'
|
|
4
4
|
require 'rake/gempackagetask'
|
5
5
|
require 'rubygems'
|
6
6
|
|
7
|
-
task :default => [ :
|
7
|
+
task :default => [ :gem, :rdoc ]
|
8
8
|
|
9
9
|
Rake::TestTask.new("test") { |t|
|
10
10
|
t.test_files = FileList['test*.rb']
|
@@ -18,17 +18,17 @@ Rake::RDocTask.new { |rdoc|
|
|
18
18
|
spec = Gem::Specification.new do |s|
|
19
19
|
s.add_dependency('xml-simple', '>= 1.0.7')
|
20
20
|
s.name = 'flickr'
|
21
|
-
s.version = "1.0.
|
21
|
+
s.version = "1.0.1"
|
22
22
|
s.platform = Gem::Platform::RUBY
|
23
|
-
s.summary = "An insanely easy interface to the Flickr photo-sharing service. By Scott Raymond."
|
23
|
+
s.summary = "An insanely easy interface to the Flickr photo-sharing service. By Scott Raymond. Maintainer: Patrick Plattes"
|
24
24
|
s.requirements << 'Flickr developers API key'
|
25
25
|
s.files = Dir.glob("*").delete_if { |item| item.include?("svn") }
|
26
26
|
s.require_path = '.'
|
27
27
|
s.autorequire = 'flickr'
|
28
|
-
s.author = "Scott Raymond"
|
29
|
-
s.email = "
|
28
|
+
s.author = "Scott Raymond, Patrick Plattes"
|
29
|
+
s.email = "patrick@erdbeere.net"
|
30
30
|
s.rubyforge_project = "flickr"
|
31
|
-
s.homepage = "http://
|
31
|
+
s.homepage = "http://flickr.rubyforge.org/"
|
32
32
|
end
|
33
33
|
Rake::GemPackageTask.new(spec) do |pkg|
|
34
34
|
pkg.need_zip = true
|
data/flickr.rb
CHANGED
@@ -54,7 +54,7 @@ class Flickr
|
|
54
54
|
attr_accessor :user
|
55
55
|
|
56
56
|
# Replace this API key with your own (see http://www.flickr.com/services/api/misc.api_keys.html)
|
57
|
-
def initialize(api_key=
|
57
|
+
def initialize(api_key=nil, email=nil, password=nil)
|
58
58
|
@api_key = api_key
|
59
59
|
@host = 'http://flickr.com'
|
60
60
|
@api = '/services/rest'
|
@@ -88,19 +88,19 @@ class Flickr
|
|
88
88
|
@email = email
|
89
89
|
@password = password
|
90
90
|
user = request('test.login')['user'] rescue fail
|
91
|
-
@user = User.new(user['id'])
|
91
|
+
@user = User.new(user['id'], @api_key)
|
92
92
|
end
|
93
93
|
|
94
94
|
# Implements flickr.urls.lookupGroup and flickr.urls.lookupUser
|
95
95
|
def find_by_url(url)
|
96
96
|
response = urls_lookupUser('url'=>url) rescue urls_lookupGroup('url'=>url) rescue nil
|
97
|
-
(response['user']) ? User.new(response['user']['id']) : Group.new(response['group']['id']) unless response.nil?
|
97
|
+
(response['user']) ? User.new(response['user']['id'], @api_key) : Group.new(response['group']['id'], @api_key) unless response.nil?
|
98
98
|
end
|
99
99
|
|
100
100
|
# Implements flickr.photos.getRecent and flickr.photos.search
|
101
101
|
def photos(*criteria)
|
102
102
|
photos = (criteria[0]) ? photos_search(criteria[0]) : photos_getRecent
|
103
|
-
photos['photos']['photo'].collect { |photo| Photo.new(photo['id']) }
|
103
|
+
photos['photos']['photo'].collect { |photo| Photo.new(photo['id'], @api_key) }
|
104
104
|
end
|
105
105
|
|
106
106
|
# Gets public photos with a given tag
|
@@ -112,15 +112,15 @@ class Flickr
|
|
112
112
|
def users(lookup=nil)
|
113
113
|
if(lookup)
|
114
114
|
user = people_findByEmail('find_email'=>lookup)['user'] rescue people_findByUsername('username'=>lookup)['user']
|
115
|
-
return User.new(user['nsid'])
|
115
|
+
return User.new(user['nsid'], @api_key)
|
116
116
|
else
|
117
|
-
return people_getOnlineList['online']['user'].collect { |person| User.new(person['nsid']) }
|
117
|
+
return people_getOnlineList['online']['user'].collect { |person| User.new(person['nsid'], @api_key) }
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
121
|
# Implements flickr.groups.getActiveList
|
122
122
|
def groups
|
123
|
-
groups_getActiveList['activegroups']['group'].collect { |group| Group.new(group['nsid']) }
|
123
|
+
groups_getActiveList['activegroups']['group'].collect { |group| Group.new(group['nsid'], @api_key) }
|
124
124
|
end
|
125
125
|
|
126
126
|
# Implements flickr.tags.getRelated
|
@@ -161,13 +161,14 @@ class Flickr
|
|
161
161
|
|
162
162
|
attr_reader :client, :id, :name, :location, :photos_url, :url, :count, :firstdate, :firstdatetaken
|
163
163
|
|
164
|
-
def initialize(id=nil, username=nil, email=nil, password=nil)
|
164
|
+
def initialize(id=nil, username=nil, email=nil, password=nil, api_key=nil)
|
165
165
|
@id = id
|
166
166
|
@username = username
|
167
167
|
@email = email
|
168
168
|
@password = password
|
169
|
-
@client = Flickr.new
|
169
|
+
@client = Flickr.new @api_key
|
170
170
|
@client.login(email, password) if email and password
|
171
|
+
@api_key = api_key
|
171
172
|
end
|
172
173
|
|
173
174
|
def username
|
@@ -197,12 +198,12 @@ class Flickr
|
|
197
198
|
|
198
199
|
# Implements flickr.people.getPublicGroups
|
199
200
|
def groups
|
200
|
-
@client.people_getPublicGroups('user_id'=>@id)['groups']['group'].collect { |group| Group.new(group['nsid']) }
|
201
|
+
@client.people_getPublicGroups('user_id'=>@id)['groups']['group'].collect { |group| Group.new(group['nsid'], @api_key) }
|
201
202
|
end
|
202
203
|
|
203
204
|
# Implements flickr.people.getPublicPhotos
|
204
205
|
def photos
|
205
|
-
@client.people_getPublicPhotos('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id']) }
|
206
|
+
@client.people_getPublicPhotos('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id'], @api_key) }
|
206
207
|
# what about non-public photos?
|
207
208
|
end
|
208
209
|
|
@@ -213,19 +214,19 @@ class Flickr
|
|
213
214
|
|
214
215
|
# Implements flickr.contacts.getPublicList and flickr.contacts.getList
|
215
216
|
def contacts
|
216
|
-
@client.contacts_getPublicList('user_id'=>@id)['contacts']['contact'].collect { |contact| User.new(contact['nsid']) }
|
217
|
+
@client.contacts_getPublicList('user_id'=>@id)['contacts']['contact'].collect { |contact| User.new(contact['nsid'], @api_key) }
|
217
218
|
#or
|
218
219
|
end
|
219
220
|
|
220
221
|
# Implements flickr.favorites.getPublicList and flickr.favorites.getList
|
221
222
|
def favorites
|
222
|
-
@client.favorites_getPublicList('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id']) }
|
223
|
+
@client.favorites_getPublicList('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id'], @api_key) }
|
223
224
|
#or
|
224
225
|
end
|
225
226
|
|
226
227
|
# Implements flickr.photosets.getList
|
227
228
|
def photosets
|
228
|
-
@client.photosets_getList('user_id'=>@id)['photosets']['photoset'].collect { |photoset| Photoset.new(photoset['id']) }
|
229
|
+
@client.photosets_getList('user_id'=>@id)['photosets']['photoset'].collect { |photoset| Photoset.new(photoset['id'], @api_key) }
|
229
230
|
end
|
230
231
|
|
231
232
|
# Implements flickr.tags.getListUser
|
@@ -235,9 +236,9 @@ class Flickr
|
|
235
236
|
|
236
237
|
# Implements flickr.photos.getContactsPublicPhotos and flickr.photos.getContactsPhotos
|
237
238
|
def contactsPhotos
|
238
|
-
@client.photos_getContactsPublicPhotos('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id']) }
|
239
|
+
@client.photos_getContactsPublicPhotos('user_id'=>@id)['photos']['photo'].collect { |photo| Photo.new(photo['id'], @api_key) }
|
239
240
|
# or
|
240
|
-
#@client.photos_getContactsPhotos['photos']['photo'].collect { |photo| Photo.new(photo['id']) }
|
241
|
+
#@client.photos_getContactsPhotos['photos']['photo'].collect { |photo| Photo.new(photo['id'], @api_key) }
|
241
242
|
end
|
242
243
|
|
243
244
|
def to_s
|
@@ -266,9 +267,10 @@ class Flickr
|
|
266
267
|
|
267
268
|
attr_reader :id, :client
|
268
269
|
|
269
|
-
def initialize(id=nil)
|
270
|
+
def initialize(id=nil, api_key=nil)
|
270
271
|
@id = id
|
271
|
-
@
|
272
|
+
@api_key = api_key
|
273
|
+
@client = Flickr.new @api_key
|
272
274
|
end
|
273
275
|
|
274
276
|
def title
|
@@ -330,8 +332,8 @@ class Flickr
|
|
330
332
|
# Implements flickr.photos.getContext
|
331
333
|
def context
|
332
334
|
context = @client.photos_getContext('photo_id'=>@id)
|
333
|
-
@previousPhoto = Photo.new(context['prevphoto']['id'])
|
334
|
-
@nextPhoto = Photo.new(context['nextphoto']['id'])
|
335
|
+
@previousPhoto = Photo.new(context['prevphoto']['id'], @api_key)
|
336
|
+
@nextPhoto = Photo.new(context['nextphoto']['id'], @api_key)
|
335
337
|
return [@previousPhoto, @nextPhoto]
|
336
338
|
end
|
337
339
|
|
@@ -415,7 +417,7 @@ class Flickr
|
|
415
417
|
def getInfo
|
416
418
|
info = @client.photos_getInfo('photo_id'=>@id)['photo']
|
417
419
|
@title = info['title']
|
418
|
-
@owner = User.new(info['owner']['nsid'])
|
420
|
+
@owner = User.new(info['owner']['nsid'], @api_key)
|
419
421
|
@server = info['server']
|
420
422
|
@isfavorite = info['isfavorite']
|
421
423
|
@license = info['license']
|
@@ -436,9 +438,10 @@ class Flickr
|
|
436
438
|
class Group
|
437
439
|
attr_reader :id, :client, :name, :members, :online, :privacy, :chatid, :chatcount, :url
|
438
440
|
|
439
|
-
def initialize(id=nil)
|
441
|
+
def initialize(id=nil, api_key=nil)
|
440
442
|
@id = id
|
441
|
-
@
|
443
|
+
@api_key = api_key
|
444
|
+
@client = Flickr.new @api_key
|
442
445
|
end
|
443
446
|
|
444
447
|
# Implements flickr.groups.getInfo and flickr.urls.getGroup
|
@@ -468,16 +471,17 @@ class Flickr
|
|
468
471
|
|
469
472
|
attr_reader :id, :client, :owner, :primary, :photos, :title, :description, :url
|
470
473
|
|
471
|
-
def initialize(id=nil)
|
474
|
+
def initialize(id=nil, api_key=nil)
|
472
475
|
@id = id
|
473
|
-
@
|
476
|
+
@api_key = api_key
|
477
|
+
@client = Flickr.new @api_key
|
474
478
|
end
|
475
479
|
|
476
480
|
# Implements flickr.photosets.getInfo
|
477
481
|
# private, once we can call it as needed
|
478
482
|
def getInfo
|
479
483
|
info = @client.photosets_getInfo('photosets_id'=>@id)['photoset']
|
480
|
-
@owner = User.new(info['owner'])
|
484
|
+
@owner = User.new(info['owner'], @api_key)
|
481
485
|
@primary = info['primary']
|
482
486
|
@photos = info['photos']
|
483
487
|
@title = info['title']
|
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: flickr
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date:
|
8
|
-
summary: An insanely easy interface to the Flickr photo-sharing service. By Scott Raymond.
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2008-02-25 00:00:00 +01:00
|
8
|
+
summary: "An insanely easy interface to the Flickr photo-sharing service. By Scott Raymond. Maintainer: Patrick Plattes"
|
9
9
|
require_paths:
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
homepage: http://redgreenblu.com/flickr/
|
10
|
+
- .
|
11
|
+
email: patrick@erdbeere.net
|
12
|
+
homepage: http://flickr.rubyforge.org/
|
14
13
|
rubyforge_project: flickr
|
15
14
|
description:
|
16
15
|
autorequire: flickr
|
@@ -19,33 +18,40 @@ bindir: bin
|
|
19
18
|
has_rdoc: false
|
20
19
|
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
21
20
|
requirements:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
version: 0.0.0
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
26
24
|
version:
|
27
25
|
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- Scott Raymond, Patrick Plattes
|
28
31
|
files:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
- test_flickr.rb
|
32
|
+
- index.html
|
33
|
+
- test_flickr.rb
|
34
|
+
- flickr.rb
|
35
|
+
- Rakefile
|
34
36
|
test_files: []
|
37
|
+
|
35
38
|
rdoc_options: []
|
39
|
+
|
36
40
|
extra_rdoc_files: []
|
41
|
+
|
37
42
|
executables: []
|
43
|
+
|
38
44
|
extensions: []
|
45
|
+
|
39
46
|
requirements:
|
40
|
-
|
47
|
+
- Flickr developers API key
|
41
48
|
dependencies:
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
version:
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: xml-simple
|
51
|
+
version_requirement:
|
52
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 1.0.7
|
57
|
+
version:
|