photogriffy.net/app/controllers/flickr_controller.rb

60 lines
1.6 KiB
Ruby
Raw Normal View History

class FlickrController < ApplicationController
FlickrawOptions = { :lazyload => true, :timeout => 2 }
require 'flickraw'
@@flickr_id = "13827925@N00"
def photo
@pid = params[:id]
begin
@pinfo = flickr.photos.getInfo :photo_id => @pid
rescue => e
flash[:error] = "Photo " + params[:id].to_s + " could not be found. Random photo displayed."
@pid = flickr.photos.search(:user_id => @@flickr_id).rand.id
@pinfo = flickr.photos.getInfo :photo_id => @pid
end
@psize = flickr.photos.getSizes(:photo_id => @pid).find{|m| m.label == "Medium"}
respond_to do |format|
format.html
format.xml
end
end
def home
@pid = flickr.photos.search(:user_id => @@flickr_id).rand.id
@pinfo = flickr.photos.getInfo(:photo_id => @pid)
@psize = flickr.photos.getSizes(:photo_id => @pid).find{|m| m.label == "Medium"}
respond_to do |format|
format.html
end
end
def interesting
@parray = Array.new
result = flickr.photos.search(:user_id => @@flickr_id, :per_page => 20, :sort => "interestingness-desc")
for r in result do
@parray += [:id => r.id, :source => flickr.photos.getSizes(:photo_id => r.id).find{|m| m.label == "Thumbnail"}.source]
end
respond_to do |format|
format.html
end
end
def recent
@parray = Array.new
result = flickr.photos.search(:user_id => @@flickr_id, :per_page => 20)
for r in result do
@parray += [:id => r.id, :source => flickr.photos.getSizes(:photo_id => r.id).find{|m| m.label == "Thumbnail"}.source]
end
respond_to do |format|
format.html
end
end
end