<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>LICENSE</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -5,8 +5,4 @@ flickr = Flickr.new('bb662c756a830975d00b8277bff70ddf')
 photos = flickr.photos.search(:tags =&gt; 'traingo', :per_page =&gt; 10)
 puts photos.inspect
 puts photos.next_page.inspect
-puts photos.previous_page.inspect
-
-while photos = photos.next_page
-  puts photos.page
-end
\ No newline at end of file
+puts photos.previous_page.inspect
\ No newline at end of file</diff>
      <filename>demo.rb</filename>
    </modified>
    <modified>
      <diff>@@ -131,15 +131,37 @@ class Flickr::Photos &lt; Flickr::Base
   def search(options)
     rsp = @flickr.send_request('flickr.photos.search', options)
 
-    returning PhotoResponse.new(rsp.photos[:page], rsp.photos[:pages], rsp.photos[:perpage], rsp.photos[:total], [], self, 'flickr.photos.search', options) do |photos|
+    returning PhotoResponse.new(:page =&gt; rsp.photos[:page], :pages =&gt; rsp.photos[:pages], :per_page =&gt; rsp.photos[:perpage], :total =&gt; rsp.photos[:total], :photos =&gt; [], :api =&gt; self, :method =&gt; 'flickr.photos.search', :options =&gt; options) do |photos|
       rsp.photos.photo.each do |photo|
-        photos &lt;&lt; Photo.new(photo[:id], photo[:owner], photo[:secret], photo[:server], photo[:farm], photo[:title], photo[:ispublic], photo[:isfriend], photo[:isfamily])
+        photos &lt;&lt; Photo.new(:id =&gt; photo[:id], :owner =&gt; photo[:owner], :secret =&gt; photo[:secret], :server =&gt; photo[:server], :farm =&gt; photo[:farm], :title =&gt; photo[:title], :is_public =&gt; photo[:ispublic], :is_friend =&gt; photo[:isfriend], :is_family =&gt; photo[:isfamily])
       end
     end
   end
+  
+  # Returns the available sizes for a photo. The calling user must have permission to view the photo.
+  # 
+  # == Authentication
+  # 
+  # This method does not require authentication.
+  # 
+  # == Options
+  # 
+  # * photo_id (Required)
+  #     The id of the photo to fetch size information for.
+  # 
+  def get_sizes(photo_id)
+    rsp = @flickr.send_request('flickr.photos.getSizes', options)
+  end
 
   # wrapping class to hold a photos response from the flickr api
-  class PhotoResponse &lt; Struct.new(:page, :pages, :per_page, :total, :photos, :api, :method, :options)
+  class PhotoResponse
+    attr_accessor :page, :pages, :per_page, :total, :photos, :api, :method, :options
+    
+    def initialize(attributes)
+      attributes.each do |k,v|
+        send(&quot;#{k}=&quot;, v)
+      end
+    end
 
     # Add a Flickr::Photos::Photo object to the photos array.  It does nothing if you pass a non photo object
     def &lt;&lt;(photo)
@@ -170,7 +192,15 @@ class Flickr::Photos &lt; Flickr::Base
   end
 
   # wrapping class to hold an flickr photo
-  class Photo &lt; Struct.new(:id, :owner, :secret, :server, :farm, :title, :is_public, :is_friend, :is_family)
+  class Photo
+    attr_accessor :id, :owner, :secret, :original_secret, :server, :farm, :title, :is_public, :is_friend, :is_family # standard attributes
+    attr_accessor :license, :date_upload, :date_taken, :owner_name, :icon_server, :original_format, :last_update, :geo, :tags, :machine_tags, :o_dims, :views # extra attributes
+    
+    def initialize(attributes)
+      attributes.each do |k,v|
+        send(&quot;#{k}=&quot;, v)
+      end
+    end
     
     # retreive the url to the image stored on flickr
     # </diff>
      <filename>lib/flickr/photos.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7b4450f350d33fc6b962b549b44a7592118e0bb6</id>
    </parent>
  </parents>
  <author>
    <name>bwyrosdick</name>
    <email>ben.wyrosdick@gmail.com</email>
  </author>
  <url>http://github.com/commonthread/flickr_fu/commit/f02c649eb91884f918371875137a872b257d67ce</url>
  <id>f02c649eb91884f918371875137a872b257d67ce</id>
  <committed-date>2008-03-27T22:51:22-07:00</committed-date>
  <authored-date>2008-03-27T22:51:22-07:00</authored-date>
  <message>Added license and refactored</message>
  <tree>5b771c18df82f492ef49c46ad50410664a9b79a1</tree>
  <committer>
    <name>bwyrosdick</name>
    <email>ben.wyrosdick@gmail.com</email>
  </committer>
</commit>
