updated support for flickr, basic functionality is solid and there is error handling for badly formatted photo id strings
This commit is contained in:
parent
80e151e4dc
commit
cb7cc59ae9
5 changed files with 49 additions and 20 deletions
|
@ -1,5 +1,7 @@
|
|||
class FlickrController < ApplicationController
|
||||
require 'flickraw'
|
||||
@@flickr_id = "13827925@N00"
|
||||
|
||||
|
||||
def index
|
||||
|
||||
|
@ -11,9 +13,14 @@ class FlickrController < ApplicationController
|
|||
|
||||
def photo
|
||||
@pid = params[:id]
|
||||
@pinfo = flickr.photos.getInfo :photo_id => @pid
|
||||
getSizes = flickr.photos.getSizes :photo_id => @pid
|
||||
@psizes = getSizes.find{|m| m.label == "Medium"}
|
||||
begin
|
||||
@pinfo = flickr.photos.getInfo :photo_id => @pid
|
||||
rescue => e
|
||||
@error = true;
|
||||
@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
|
||||
|
@ -22,12 +29,10 @@ class FlickrController < ApplicationController
|
|||
end
|
||||
|
||||
def home
|
||||
photos = flickr.photos.search(:user_id => "13827925@N00")
|
||||
random = photos[rand(photos.size)]
|
||||
@pid = random.id
|
||||
@pinfo = flickr.photos.getInfo :secret => random.secret, :photo_id => @pid
|
||||
getSizes = flickr.photos.getSizes :photo_id => @pid
|
||||
@psizes = getSizes.find{|m| m.label == "Medium"}
|
||||
|
||||
@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
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<div class="flickr">
|
||||
<div class="border" style="width:<%= @psizes.width %>;">
|
||||
<%= link_to image_tag(@psizes.source, :alt => @pinfo.title), :controller => "flickr", :action => "photo", :id => @pid %>
|
||||
<div class="box">
|
||||
<div class="border" style="width:<%= @psize.width %>;">
|
||||
<%= link_to image_tag(@psize.source, :alt => @pinfo.title), :controller => "flickr", :action => "photo", :id => @pid %>
|
||||
<p><%= @pinfo.title %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% if (@error) then %>
|
||||
<p>requested photo id not found, random photo displayed.</p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
<%= render :partial => 'single' %>
|
||||
<div id="header">photogriffy.net</div>
|
||||
<div id="footer">copyright 2009 andrew davidson, all rights reserved</div>
|
||||
<%= render :partial => 'single' %>
|
|
@ -6,6 +6,16 @@
|
|||
<body>
|
||||
<div id="wrapper">
|
||||
<%= yield %>
|
||||
<div id="header">
|
||||
<h1>photogriffy.net</h1>
|
||||
<p>
|
||||
<%= link_to "about", {:controller => "info", :action => "about"}, :alt => "about" %>
|
||||
<span class="light">|</span>
|
||||
<%= link_to "reload", request.request_uri, :alt => "reload"%>
|
||||
</p>
|
||||
</div>
|
||||
<div class="meta"></div>
|
||||
<div id="footer">copyright 2009 andrew davidson, all rights reserved</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,5 +1,5 @@
|
|||
body {
|
||||
color: #858C94;
|
||||
color:#BBB3A6;
|
||||
background-color: #332920;
|
||||
font-family: Helvetica, Verdana, sans-serif;
|
||||
font-size: .8em;
|
||||
|
@ -11,7 +11,6 @@ body {
|
|||
|
||||
#header {
|
||||
color:#BBB3A6;
|
||||
font-size:1.5em;
|
||||
padding:40px;
|
||||
margin:0 auto;
|
||||
text-align:center;
|
||||
|
@ -24,14 +23,28 @@ body {
|
|||
text-align:center;
|
||||
}
|
||||
|
||||
div.flickr {
|
||||
padding-top:100px;
|
||||
div.box {
|
||||
padding-top:50px;
|
||||
margin:0em auto;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
div.border {
|
||||
background-color:#BBB3A6;
|
||||
padding:5px;
|
||||
margin:0 auto;
|
||||
color:#48362A;
|
||||
}
|
||||
|
||||
#header a, #header a:visited {
|
||||
color:#48362A;
|
||||
}
|
||||
|
||||
.light {
|
||||
color:#BBB3A6;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size:1.5em;
|
||||
font-weight:lighter;
|
||||
}
|
Loading…
Reference in a new issue