updated support for flickr, basic functionality is solid and there is error handling for badly formatted photo id strings

This commit is contained in:
Andrew Davidson 2009-10-29 02:48:19 -07:00
parent 80e151e4dc
commit cb7cc59ae9
5 changed files with 49 additions and 20 deletions

View file

@ -1,5 +1,7 @@
class FlickrController < ApplicationController class FlickrController < ApplicationController
require 'flickraw' require 'flickraw'
@@flickr_id = "13827925@N00"
def index def index
@ -11,9 +13,14 @@ class FlickrController < ApplicationController
def photo def photo
@pid = params[:id] @pid = params[:id]
@pinfo = flickr.photos.getInfo :photo_id => @pid begin
getSizes = flickr.photos.getSizes :photo_id => @pid @pinfo = flickr.photos.getInfo :photo_id => @pid
@psizes = getSizes.find{|m| m.label == "Medium"} 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| respond_to do |format|
format.html format.html
@ -22,12 +29,10 @@ class FlickrController < ApplicationController
end end
def home def home
photos = flickr.photos.search(:user_id => "13827925@N00")
random = photos[rand(photos.size)] @pid = flickr.photos.search(:user_id => @@flickr_id).rand.id
@pid = random.id @pinfo = flickr.photos.getInfo(:photo_id => @pid)
@pinfo = flickr.photos.getInfo :secret => random.secret, :photo_id => @pid @psize = flickr.photos.getSizes(:photo_id => @pid).find{|m| m.label == "Medium"}
getSizes = flickr.photos.getSizes :photo_id => @pid
@psizes = getSizes.find{|m| m.label == "Medium"}
respond_to do |format| respond_to do |format|
format.html format.html

View file

@ -1,6 +1,9 @@
<div class="flickr"> <div class="box">
<div class="border" style="width:<%= @psizes.width %>;"> <div class="border" style="width:<%= @psize.width %>;">
<%= link_to image_tag(@psizes.source, :alt => @pinfo.title), :controller => "flickr", :action => "photo", :id => @pid %> <%= link_to image_tag(@psize.source, :alt => @pinfo.title), :controller => "flickr", :action => "photo", :id => @pid %>
<p><%= @pinfo.title %></p> <p><%= @pinfo.title %></p>
</div> </div>
</div> <% if (@error) then %>
<p>requested photo id not found, random photo displayed.</p>
<% end %>
</div>

View file

@ -1,3 +1 @@
<%= render :partial => 'single' %> <%= render :partial => 'single' %>
<div id="header">photogriffy.net</div>
<div id="footer">copyright 2009 andrew davidson, all rights reserved</div>

View file

@ -6,6 +6,16 @@
<body> <body>
<div id="wrapper"> <div id="wrapper">
<%= yield %> <%= 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> </div>
</body> </body>
</html> </html>

View file

@ -1,5 +1,5 @@
body { body {
color: #858C94; color:#BBB3A6;
background-color: #332920; background-color: #332920;
font-family: Helvetica, Verdana, sans-serif; font-family: Helvetica, Verdana, sans-serif;
font-size: .8em; font-size: .8em;
@ -11,7 +11,6 @@ body {
#header { #header {
color:#BBB3A6; color:#BBB3A6;
font-size:1.5em;
padding:40px; padding:40px;
margin:0 auto; margin:0 auto;
text-align:center; text-align:center;
@ -24,14 +23,28 @@ body {
text-align:center; text-align:center;
} }
div.flickr { div.box {
padding-top:100px; padding-top:50px;
margin:0em auto; margin:0em auto;
text-align:center; text-align:center;
} }
div.border { div.border {
background-color:#BBB3A6; background-color:#BBB3A6;
padding:5px; padding:5px;
margin:0 auto; margin:0 auto;
color:#48362A; color:#48362A;
}
#header a, #header a:visited {
color:#48362A;
}
.light {
color:#BBB3A6;
}
h1 {
font-size:1.5em;
font-weight:lighter;
} }