class FlickrVision
Constants
- API_URL
Attributes
app_id[R]
user_id[R]
Public Class Methods
new(user_id, app_id)
click to toggle source
# File lib/flickr_vision.rb, line 12 def initialize(user_id, app_id) @user_id = user_id @app_id = app_id end
Public Instance Methods
get_all_photosets()
click to toggle source
# File lib/flickr_vision.rb, line 17 def get_all_photosets() uri = URI(API_URL + "method=flickr.photosets.getList" + "&api_key=" + self.app_id + "&user_id=" + self.user_id) response = Net::HTTP.start(uri.host, uri.port,:use_ssl => uri.scheme == 'https',:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| request = Net::HTTP::Get.new uri.request_uri https.request(request) end doc = REXML::Document.new(response.body) result = Array.new doc.elements.each('rsp/photosets/photoset') do |photo_set| photoset_id = photo_set.attributes["id"] title = photo_set.elements["title"].text description = photo_set.elements["description"].text result.push(FlickrPhotoset.new(photoset_id, title, description)) end return result end
get_photo(photo_id)
click to toggle source
# File lib/flickr_vision.rb, line 36 def get_photo(photo_id) uri = URI(API_URL + "method=flickr.photos.getInfo" + "&api_key=" + self.app_id + "&photo_id=" + photo_id + "&user_id=" + self.user_id) response = Net::HTTP.start(uri.host, uri.port,:use_ssl => uri.scheme == 'https',:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| request = Net::HTTP::Get.new uri.request_uri https.request(request) end flickrPhoto = FlickrPhoto.new doc = REXML::Document.new(response.body) doc.elements.each('rsp/photo') do |photo| flickrPhoto.id = photo.attributes["id"] flickrPhoto.farm_id = photo.attributes["farm"] flickrPhoto.server_id = photo.attributes["server"] flickrPhoto.secret = photo.attributes["secret"] flickrPhoto.title = photo.elements["title"] flickrPhoto.description = photo.elements["description"] end return flickrPhoto end
get_photos(photoset_id, per_page, page)
click to toggle source
# File lib/flickr_vision.rb, line 57 def get_photos(photoset_id, per_page, page) if per_page == nil url = API_URL + "method=flickr.photosets.getPhotos" + "&api_key=" + self.app_id + "&photoset_id=" + photoset_id + "&extras=date_upload" else url = API_URL + "method=flickr.photosets.getPhotos" + "&api_key=" + self.app_id + "&photoset_id=" + photoset_id + "&extras=date_upload" + "&per_page=" + per_page.to_s + "&page=" + page.to_s end uri = URI(url) response = Net::HTTP.start(uri.host, uri.port,:use_ssl => uri.scheme == 'https',:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| request = Net::HTTP::Get.new uri.request_uri https.request(request) end doc = REXML::Document.new(response.body) photos = Array.new doc.elements.each('rsp/photoset/photo') do |photo| flickrPhoto = FlickrPhoto.new flickrPhoto.id = photo.attributes["id"] flickrPhoto.farm_id = photo.attributes["farm"] flickrPhoto.server_id = photo.attributes["server"] flickrPhoto.secret = photo.attributes["secret"] flickrPhoto.title = photo.attributes["title"] flickrPhoto.primary = photo.attributes["isprimary"] # omschrijving ophalen via andere rest call flickrPhoto.description = get_description(flickrPhoto.id) photos.push(flickrPhoto) end #photos.keys.sort return photos end
Private Instance Methods
get_description(photo_id)
click to toggle source
# File lib/flickr_vision.rb, line 91 def get_description(photo_id) uri = URI(API_URL + "method=flickr.photos.getInfo" + "&api_key=" + self.app_id + "&photo_id=" + photo_id + "&user_id=" + self.user_id) response = Net::HTTP.start(uri.host, uri.port,:use_ssl => uri.scheme == 'https',:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https| request = Net::HTTP::Get.new uri.request_uri https.request(request) end doc = REXML::Document.new(response.body) result = Array.new doc.elements.each('rsp/photo') do |photo| return photo.elements["description"].text end return "" end