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
|
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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
|
|
@ -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>
|
|
@ -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;
|
||||||
}
|
}
|
Loading…
Reference in a new issue