rafaels-picasa 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm use 1.8.7@picasa
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Wojciech Wnętrzak
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,54 @@
1
+ = Picasa
2
+
3
+ Simple google picasa managment.
4
+ Only for public albums so far.
5
+
6
+ = Installation
7
+
8
+ gem install rafaels-picasa
9
+
10
+ == Usage
11
+
12
+ user = Picasa::User.new('google_username')
13
+
14
+ Get an array of albums
15
+
16
+ user.albums
17
+
18
+ Get all photos from album with album_id
19
+
20
+ user.photos(:album_id => 1234567)
21
+
22
+ Get all photos from album object
23
+
24
+ user.albums.first.photos
25
+
26
+ Get all photos tagged with all given tags (tags separated by commas)
27
+ user.photos_by_tag('ruby, rails')
28
+
29
+ == Picasa::User
30
+
31
+ The google user.
32
+
33
+ user = Picasa::User.new('google_username')
34
+
35
+ == Picasa::Album
36
+
37
+ The album object. It has the following attributes:
38
+
39
+ id, title, summary, photos_count, photo, thumbnail, google_user and photos
40
+
41
+ Try it:
42
+
43
+ Picasa::Album.all('google_username')
44
+
45
+ == Picasa::Photo
46
+
47
+ Has the following attributes:
48
+
49
+ src, title, tags, thumbnail_1, thumbnail_2 and thumbnail_3
50
+
51
+ so, you can call:
52
+
53
+ user.photos_by_tag('ruby').first.src
54
+
@@ -0,0 +1,63 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'rubygems'
4
+ require 'rake'
5
+
6
+ begin
7
+ require 'jeweler'
8
+ Jeweler::Tasks.new do |gem|
9
+ gem.name = "rafaels-picasa"
10
+ gem.description = %Q{Simple Google Picasa managment}
11
+ gem.summary = %Q{simple google picasa managment}
12
+ gem.email = "rafael@maisweb.org"
13
+ gem.homepage = "http://github.com/rafaels/picasa"
14
+ gem.authors = ["Wojciech Wnętrzak", "Rafael Souza", "Anderson Dias"]
15
+ gem.add_dependency('xml-simple')
16
+ gem.add_development_dependency 'test-unit', '>=2.0.6'
17
+ gem.add_development_dependency 'fakeweb'
18
+
19
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
20
+ end
21
+ rescue LoadError
22
+ puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
23
+ end
24
+
25
+ require 'rake/testtask'
26
+ Rake::TestTask.new(:test) do |test|
27
+ test.libs << 'lib' << 'test'
28
+ test.pattern = 'test/**/*_test.rb'
29
+ test.verbose = true
30
+ end
31
+
32
+ begin
33
+ require 'rcov/rcovtask'
34
+ Rcov::RcovTask.new do |test|
35
+ test.libs << 'test'
36
+ test.pattern = 'test/**/*_test.rb'
37
+ test.verbose = true
38
+ end
39
+ rescue LoadError
40
+ task :rcov do
41
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
42
+ end
43
+ end
44
+
45
+
46
+ task :default => :test
47
+
48
+ require 'rake/rdoctask'
49
+ Rake::RDocTask.new do |rdoc|
50
+ if File.exist?('VERSION.yml')
51
+ require 'yaml'
52
+ config = YAML.load(File.read('VERSION.yml'))
53
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
54
+ else
55
+ version = ""
56
+ end
57
+
58
+ rdoc.rdoc_dir = 'rdoc'
59
+ rdoc.title = "picasa #{version}"
60
+ rdoc.rdoc_files.include('README*')
61
+ rdoc.rdoc_files.include('lib/**/*.rb')
62
+ end
63
+
@@ -0,0 +1,5 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 2
4
+ :patch: 3
5
+ :build:
data/console ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'picasa'
4
+ require 'irb'
5
+ IRB.start
@@ -0,0 +1,7 @@
1
+ require 'net/http'
2
+ require 'xmlsimple'
3
+
4
+ require 'picasa/connection'
5
+ require 'picasa/album'
6
+ require 'picasa/photo'
7
+ require 'picasa/user'
@@ -0,0 +1,50 @@
1
+ module Picasa
2
+ class Album
3
+ attr_accessor :id, :title, :summary, :photos_count, :photo, :thumbnail, :google_user, :photos
4
+
5
+ def self.parse_xml(google_user, xml_entry)
6
+ album = new(google_user)
7
+ album.id = xml_entry['id'][1]
8
+ album.title = xml_entry['title'][0]['content']
9
+ album.summary = if xml_entry['subtitle']
10
+ xml_entry['subtitle'][0]['content']
11
+ elsif xml_entry['summary']
12
+ xml_entry['summary'][0]['content']
13
+ end
14
+ album.photos_count = xml_entry['numphotos'][0].to_i
15
+ #has *group* when called from albums list
16
+ if xml_entry['group']
17
+ album.photo = xml_entry['group'][0]['content']['url']
18
+ album.thumbnail = xml_entry['group'][0]['thumbnail'][0]['url']
19
+ #has *entry* when called from find
20
+ elsif xml_entry['entry']
21
+ album.photos = xml_entry['entry'].map do |photo_xml_entry|
22
+ Photo.parse_xml(photo_xml_entry)
23
+ end
24
+ end
25
+ album
26
+ end
27
+
28
+ def self.all(google_user)
29
+ data = Picasa::Connection.stablish("/data/feed/api/user/#{google_user}")
30
+ xml = XmlSimple.xml_in(data)
31
+ xml['entry'].map do |album_xml_entry|
32
+ Picasa::Album.parse_xml(google_user, album_xml_entry)
33
+ end if xml['entry']
34
+ end
35
+
36
+ def self.find(google_user, album_id)
37
+ data = Picasa::Connection.stablish("/data/feed/api/user/#{google_user}/albumid/#{album_id}")
38
+ xml = XmlSimple.xml_in(data)
39
+ Album.parse_xml(google_user, xml)
40
+ end
41
+
42
+ def photos
43
+ @photos ||= Photo.find_all_by_album_id(self.google_user, self.id)
44
+ end
45
+
46
+ def initialize(google_user)
47
+ self.google_user = google_user
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,9 @@
1
+ module Picasa
2
+ module Connection
3
+ def self.stablish(url)
4
+ full_url = "http://picasaweb.google.com" + url
5
+ Net::HTTP.get(URI.parse(full_url))
6
+ end
7
+ end
8
+ end
9
+
@@ -0,0 +1,34 @@
1
+ module Picasa
2
+ class Photo
3
+ attr_accessor :title, :thumbnail_1, :thumbnail_2, :thumbnail_3, :tags, :src
4
+
5
+ def self.find_all_by_album_id(google_user, album_id)
6
+ data = Picasa::Connection.stablish("/data/feed/api/user/#{google_user}/albumid/#{album_id}")
7
+ Photo.parse_all_xml(data)
8
+ end
9
+
10
+ def self.find_all_by_tags(google_user, tags)
11
+ tags = tags.gsub(' ', '')
12
+ data = Picasa::Connection.stablish("/data/feed/api/user/#{google_user}?kind=photo&tag=#{tags}")
13
+ Photo.parse_all_xml(data)
14
+ end
15
+
16
+ def self.parse_xml(xml_entry)
17
+ photo = new
18
+ photo.title = xml_entry['group'][0]['description'][0]['content']
19
+ photo.thumbnail_1 = xml_entry['group'][0]['thumbnail'][0]['url']
20
+ photo.thumbnail_2 = xml_entry['group'][0]['thumbnail'][1]['url']
21
+ photo.thumbnail_3 = xml_entry['group'][0]['thumbnail'][2]['url']
22
+ photo.tags = xml_entry['group'][0]['keywords'][0]
23
+ photo.src = xml_entry['content']['src']
24
+ photo
25
+ end
26
+
27
+ def self.parse_all_xml(xml_data)
28
+ xml = XmlSimple.xml_in(xml_data)
29
+ xml['entry'].map do |photo_xml_entry|
30
+ Photo.parse_xml(photo_xml_entry)
31
+ end if xml['entry']
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ module Picasa
2
+ class User
3
+ def initialize(google_user)
4
+ raise ArgumentError.new("You must specify a google user") unless google_user
5
+ @google_user = google_user
6
+ end
7
+
8
+ def albums
9
+ @albums ||= Picasa::Album.all(@google_user)
10
+ end
11
+
12
+ def photos(options = {})
13
+ raise ArgumentError.new("You must specify album_id") unless options[:album_id]
14
+ Picasa::Photo.find_all_by_album_id(@google_user, options[:album_id])
15
+ end
16
+
17
+ def photos_by_tags(tags)
18
+ Picasa::Photo.find_all_by_tags(@google_user, tags)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,72 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rafaels-picasa}
8
+ s.version = "0.2.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Wojciech Wn\304\231trzak", "Rafael Souza", "Anderson Dias"]
12
+ s.date = %q{2010-08-02}
13
+ s.description = %q{Simple Google Picasa managment}
14
+ s.email = %q{rafael@maisweb.org}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ ".rvmrc",
23
+ "LICENSE",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION.yml",
27
+ "console",
28
+ "lib/picasa.rb",
29
+ "lib/picasa/album.rb",
30
+ "lib/picasa/connection.rb",
31
+ "lib/picasa/photo.rb",
32
+ "lib/picasa/user.rb",
33
+ "rafaels-picasa.gemspec",
34
+ "test/album_test.rb",
35
+ "test/fixtures/albums",
36
+ "test/fixtures/first_album",
37
+ "test/fixtures/photos_by_tags",
38
+ "test/fixtures/second_album",
39
+ "test/test_helper.rb",
40
+ "test/user_test.rb"
41
+ ]
42
+ s.homepage = %q{http://github.com/rafaels/picasa}
43
+ s.rdoc_options = ["--charset=UTF-8"]
44
+ s.require_paths = ["lib"]
45
+ s.rubygems_version = %q{1.3.7}
46
+ s.summary = %q{simple google picasa managment}
47
+ s.test_files = [
48
+ "test/user_test.rb",
49
+ "test/album_test.rb",
50
+ "test/test_helper.rb"
51
+ ]
52
+
53
+ if s.respond_to? :specification_version then
54
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
55
+ s.specification_version = 3
56
+
57
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
58
+ s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
59
+ s.add_development_dependency(%q<test-unit>, [">= 2.0.6"])
60
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
61
+ else
62
+ s.add_dependency(%q<xml-simple>, [">= 0"])
63
+ s.add_dependency(%q<test-unit>, [">= 2.0.6"])
64
+ s.add_dependency(%q<fakeweb>, [">= 0"])
65
+ end
66
+ else
67
+ s.add_dependency(%q<xml-simple>, [">= 0"])
68
+ s.add_dependency(%q<test-unit>, [">= 2.0.6"])
69
+ s.add_dependency(%q<fakeweb>, [">= 0"])
70
+ end
71
+ end
72
+
@@ -0,0 +1,42 @@
1
+ require "test_helper"
2
+
3
+ class AlbumTest < Test::Unit::TestCase
4
+ test "Should return all albums" do
5
+ albums = Picasa::Album.all("some.user")
6
+
7
+ assert_equal 2, albums.count
8
+ assert_equal "Copa", albums.first.title
9
+ assert_equal 1, albums[1].photos_count
10
+ assert_equal "5500679996869508145", albums.first.id
11
+ assert_equal "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/Povo.jpg", albums[1].photo
12
+ assert_equal "Jogos da copa na casa de Ítalo!", albums.first.summary
13
+ assert_equal "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/s160-c/Povo.jpg", albums[1].thumbnail
14
+ assert_equal "some.user", albums.first.google_user
15
+ end
16
+
17
+ test "Should find an album with user and id" do
18
+ album = Picasa::Album.find("some.user", "5500679996869508145")
19
+
20
+ assert_equal "5500679996869508145", album.id
21
+ assert_equal "Copa", album.title
22
+ assert_equal 3, album.photos_count
23
+ assert_equal "Jogos da copa na casa de Ítalo!", album.summary
24
+ assert_equal "some.user", album.google_user
25
+ end
26
+
27
+ test "Should find photos" do
28
+ photo = Picasa::Album.all("some.user")[1].photos.first
29
+
30
+ assert_equal "Luisa", photo.title
31
+
32
+ src = "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg"
33
+ assert_equal src, photo.src
34
+
35
+ assert_equal "Praia, Povo", photo.tags
36
+
37
+ assert_not_nil photo.thumbnail_1
38
+ assert_not_nil photo.thumbnail_2
39
+ assert_not_nil photo.thumbnail_3
40
+ end
41
+ end
42
+
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Set-Cookie: _rtok=AziiH0EtTyNj; Path=/; HttpOnly
3
+ Set-Cookie: S=photos_html=xofVMm768HlBTGmKQ1JSkA; Domain=.google.com; Path=/; HttpOnly
4
+ Content-Type: application/atom+xml; charset=UTF-8
5
+ Expires: Wed, 20 May 2009 10:51:15 GMT
6
+ Date: Wed, 20 May 2009 10:51:15 GMT
7
+ Cache-Control: private, must-revalidate, max-age=0
8
+ Vary: Accept, X-GData-Authorization, GData-Version, Cookie
9
+ GData-Version: 1.0
10
+ Last-Modified: Mon, 02 Aug 2009 05:28:42 GMT
11
+ Transfer-Encoding: chunked
12
+ X-Content-Type-Options: nosniff
13
+ Server: GFE/2.0
14
+
15
+ <?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>http://picasaweb.google.com/data/feed/api/user/rafaelmkin</id><updated>2010-08-02T06:41:35.469Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#user'/><title type='text'>113547798794418356618</title><subtitle type='text'/><icon>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s64-c/113547798794418356618.jpg</icon><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618'/><link rel='http://schemas.google.com/photos/2007#slideshow' type='application/x-shockwave-flash' href='http://picasaweb.google.com/s/c/bin/slideshow.swf?host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F113547798794418356618%3Falt%3Drss'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618?start-index=1&amp;max-results=1000'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><generator version='1.00' uri='http://picasaweb.google.com/'>Picasaweb</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>1000</openSearch:itemsPerPage><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:thumbnail>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s64-c/113547798794418356618.jpg</gphoto:thumbnail><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145</id><published>2010-06-28T02:54:23.000Z</published><updated>2010-08-02T06:39:42.045Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'/><title type='text'>Copa</title><summary type='text'>Jogos da copa na casa de Ítalo!</summary><rights type='text'>public</rights><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><gphoto:id>5500679996869508145</gphoto:id><gphoto:name>Copa</gphoto:name><gphoto:location/><gphoto:access>public</gphoto:access><gphoto:timestamp>1277693663000</gphoto:timestamp><gphoto:numphotos>3</gphoto:numphotos><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:commentingEnabled>true</gphoto:commentingEnabled><gphoto:commentCount>0</gphoto:commentCount><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXUDSA_DE/AAAAAAAAABw/y2RCbqJE_xY/Copa.jpg' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'>Jogos da copa na casa de Ítalo!</media:description><media:keywords/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXUDSA_DE/AAAAAAAAABw/y2RCbqJE_xY/s160-c/Copa.jpg' height='160' width='160'/><media:title type='plain'>Copa</media:title></media:group></entry><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201</id><published>2010-02-27T02:39:45.000Z</published><updated>2010-08-02T05:27:52.068Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'/><title type='text'>Povo</title><summary type='text'/><rights type='text'>public</rights><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500678977826487201'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Povo'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><gphoto:id>5500678977826487201</gphoto:id><gphoto:name>Povo</gphoto:name><gphoto:location/><gphoto:access>public</gphoto:access><gphoto:timestamp>1267238385000</gphoto:timestamp><gphoto:numphotos>1</gphoto:numphotos><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:commentingEnabled>true</gphoto:commentingEnabled><gphoto:commentCount>0</gphoto:commentCount><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/Povo.jpg' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'/><media:keywords/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/s160-c/Povo.jpg' height='160' width='160'/><media:title type='plain'>Povo</media:title></media:group></entry></feed>
16
+
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Set-Cookie: _rtok=AziiH0EtTyNj; Path=/; HttpOnly
3
+ Set-Cookie: S=photos_html=xofVMm768HlBTGmKQ1JSkA; Domain=.google.com; Path=/; HttpOnly
4
+ Content-Type: application/atom+xml; charset=UTF-8
5
+ Expires: Wed, 20 May 2009 10:51:15 GMT
6
+ Date: Wed, 20 May 2009 10:51:15 GMT
7
+ Cache-Control: private, must-revalidate, max-age=0
8
+ Vary: Accept, X-GData-Authorization, GData-Version, Cookie
9
+ GData-Version: 1.0
10
+ Last-Modified: Mon, 02 Aug 2009 05:30:17 GMT
11
+ Transfer-Encoding: chunked
12
+ X-Content-Type-Options: nosniff
13
+ Server: GFE/2.0
14
+
15
+ <?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:exif='http://schemas.google.com/photos/exif/2007' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>http://picasaweb.google.com/data/feed/api/user/rafaelmkin/albumid/5500679996869508145</id><updated>2010-08-02T06:39:42.045Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'/><title type='text'>Copa</title><subtitle type='text'>Jogos da copa na casa de Ítalo!</subtitle><rights type='text'>public</rights><icon>http://lh6.ggpht.com/_dWuTCTElt7M/TFZXUDSA_DE/AAAAAAAAABw/y2RCbqJE_xY/s160-c/Copa.jpg</icon><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa'/><link rel='http://schemas.google.com/photos/2007#slideshow' type='application/x-shockwave-flash' href='http://picasaweb.google.com/s/c/bin/slideshow.swf?host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F113547798794418356618%2Falbumid%2F5500679996869508145%3Falt%3Drss'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500679996869508145'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145?start-index=1&amp;max-results=1000'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><generator version='1.00' uri='http://picasaweb.google.com/'>Picasaweb</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>1000</openSearch:itemsPerPage><gphoto:id>5500679996869508145</gphoto:id><gphoto:name>Copa</gphoto:name><gphoto:location/><gphoto:access>public</gphoto:access><gphoto:timestamp>1277693663000</gphoto:timestamp><gphoto:numphotos>3</gphoto:numphotos><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:commentingEnabled>true</gphoto:commentingEnabled><gphoto:commentCount>0</gphoto:commentCount><gphoto:allowPrints>true</gphoto:allowPrints><gphoto:allowDownloads>true</gphoto:allowDownloads><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500680017463624946</id><published>2010-08-02T05:27:49.000Z</published><updated>2010-08-02T05:27:49.390Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg</title><summary type='text'/><content type='image/jpeg' src='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXVQACRPI/AAAAAAAAABY/Dvz3r7w4iJQ/OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500680017463624946'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa#5500680017463624946'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/W05EFJRdfLdkplck5-HIxQ'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500680017463624946'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500679996869508145&amp;iid=5500680017463624946'/><gphoto:id>5500680017463624946</gphoto:id><gphoto:version>1</gphoto:version><gphoto:position>1.0</gphoto:position><gphoto:albumid>5500679996869508145</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>800</gphoto:width><gphoto:height>600</gphoto:height><gphoto:size>56711</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>13fde047</gphoto:checksum><gphoto:timestamp>1277693663000</gphoto:timestamp><gphoto:imageVersion>22</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:imageUniqueID>5ed7634d4463af0d0b531a9302b3a33e</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXVQACRPI/AAAAAAAAABY/Dvz3r7w4iJQ/OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg' height='600' width='800' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'/><media:keywords/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXVQACRPI/AAAAAAAAABY/Dvz3r7w4iJQ/s72/OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg' height='54' width='72'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXVQACRPI/AAAAAAAAABY/Dvz3r7w4iJQ/s144/OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg' height='108' width='144'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZXVQACRPI/AAAAAAAAABY/Dvz3r7w4iJQ/s288/OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg' height='216' width='288'/><media:title type='plain'>OgAAADdURh92k5AUxNHLq_Dl_BY7kBnqgXJ_7Py-LBlR3ssljOeS5ArttCF_o5md16rv4boPtXbEOQQDs6mTC49ahzIAm1T1UMCqJLx31-8Mwd7mP3yXCLvXJifC.jpg</media:title></media:group></entry><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330</id><published>2010-08-02T06:39:38.000Z</published><updated>2010-08-02T06:39:38.064Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg</title><summary type='text'/><content type='image/jpeg' src='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa#5500698524635169330'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/pwybn-WyT1M-FkNuioXKEQ'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500679996869508145&amp;iid=5500698524635169330'/><gphoto:id>5500698524635169330</gphoto:id><gphoto:version>1</gphoto:version><gphoto:position>2.0</gphoto:position><gphoto:albumid>5500679996869508145</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>800</gphoto:width><gphoto:height>600</gphoto:height><gphoto:size>50497</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>13f1e047</gphoto:checksum><gphoto:timestamp>1277693631000</gphoto:timestamp><gphoto:imageVersion>27</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:imageUniqueID>af0867c2621e4e4361df587fdd993816</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='600' width='800' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'/><media:keywords/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s72/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='54' width='72'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s144/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='108' width='144'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s288/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='216' width='288'/><media:title type='plain'>OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg</media:title></media:group></entry><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698543963113938</id><published>2010-08-02T06:39:42.000Z</published><updated>2010-08-02T06:39:42.045Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg</title><summary type='text'/><content type='image/jpeg' src='http://lh3.ggpht.com/_dWuTCTElt7M/TFZoLoluCdI/AAAAAAAAABw/KFc_e7eKeps/OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698543963113938'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa#5500698543963113938'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/LX2K0rSOUjFrLSGEczbN_A'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698543963113938'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500679996869508145&amp;iid=5500698543963113938'/><gphoto:id>5500698543963113938</gphoto:id><gphoto:version>1</gphoto:version><gphoto:position>3.0</gphoto:position><gphoto:albumid>5500679996869508145</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>800</gphoto:width><gphoto:height>600</gphoto:height><gphoto:size>55911</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>13fd8047</gphoto:checksum><gphoto:timestamp>1277693660000</gphoto:timestamp><gphoto:imageVersion>28</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:imageUniqueID>a8187aaa0d751ec5160ae8367dd609db</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh3.ggpht.com/_dWuTCTElt7M/TFZoLoluCdI/AAAAAAAAABw/KFc_e7eKeps/OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg' height='600' width='800' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'/><media:keywords/><media:thumbnail url='http://lh3.ggpht.com/_dWuTCTElt7M/TFZoLoluCdI/AAAAAAAAABw/KFc_e7eKeps/s72/OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg' height='54' width='72'/><media:thumbnail url='http://lh3.ggpht.com/_dWuTCTElt7M/TFZoLoluCdI/AAAAAAAAABw/KFc_e7eKeps/s144/OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg' height='108' width='144'/><media:thumbnail url='http://lh3.ggpht.com/_dWuTCTElt7M/TFZoLoluCdI/AAAAAAAAABw/KFc_e7eKeps/s288/OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg' height='216' width='288'/><media:title type='plain'>OgAAACuzsxMo94iZU_4mzkq2cW7d-7OmKEgh65uP21X0_HA-blEfbJg9uXG---rdZVlJ83nSsll7L0aY4MRvHYz4B0UAm1T1UFmcuUuJoIb9fHOSMyTKUaVVb4fb.jpg</media:title></media:group></entry></feed>
16
+
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Set-Cookie: _rtok=AziiH0EtTyNj; Path=/; HttpOnly
3
+ Set-Cookie: S=photos_html=xofVMm768HlBTGmKQ1JSkA; Domain=.google.com; Path=/; HttpOnly
4
+ Content-Type: application/atom+xml; charset=UTF-8
5
+ Expires: Wed, 20 May 2009 10:51:15 GMT
6
+ Date: Wed, 20 May 2009 10:51:15 GMT
7
+ Cache-Control: private, must-revalidate, max-age=0
8
+ Vary: Accept, X-GData-Authorization, GData-Version, Cookie
9
+ GData-Version: 1.0
10
+ Last-Modified: Mon, 02 Aug 2009 06:45:59 GMT
11
+ Transfer-Encoding: chunked
12
+ X-Content-Type-Options: nosniff
13
+ Server: GFE/2.0
14
+
15
+ <?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:exif='http://schemas.google.com/photos/exif/2007' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>http://picasaweb.google.com/data/feed/api/user/rafaelmkin</id><updated>2010-08-02T06:43:49.482Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#user'/><title type='text'>113547798794418356618</title><subtitle type='text'/><icon>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s64-c/113547798794418356618.jpg</icon><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618'/><link rel='http://schemas.google.com/photos/2007#slideshow' type='application/x-shockwave-flash' href='http://picasaweb.google.com/s/c/bin/slideshow.swf?host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F113547798794418356618%3Falt%3Drss'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618?start-index=1&amp;max-results=100&amp;tag=Praia%2CPovo&amp;kind=photo'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><generator version='1.00' uri='http://picasaweb.google.com/'>Picasaweb</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:thumbnail>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s64-c/113547798794418356618.jpg</gphoto:thumbnail><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490</id><published>2010-08-02T05:24:07.000Z</published><updated>2010-08-02T06:17:55.649Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>DSC08628.jpg</title><summary type='text'>Luisa</summary><content type='image/jpeg' src='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Povo#5500679064382643490'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/TjD0-BMejNqJlfxzBzdARA'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500678977826487201&amp;iid=5500679064382643490'/><author type='owner'><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri><email>113547798794418356618</email><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:thumbnail>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s32-c/113547798794418356618.jpg</gphoto:thumbnail><gphoto:user>113547798794418356618</gphoto:user></author><gphoto:id>5500679064382643490</gphoto:id><gphoto:version>4</gphoto:version><gphoto:albumid>5500678977826487201</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>1296</gphoto:width><gphoto:height>972</gphoto:height><gphoto:size>282085</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>22d82033</gphoto:checksum><gphoto:timestamp>1267238385000</gphoto:timestamp><gphoto:imageVersion>15</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:time>1267238385000</exif:time><exif:imageUniqueID>ae9a9ef43ce83188def5dde1121017a2</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg' height='972' width='1296' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'>Luisa</media:description><media:keywords>Praia, Povo</media:keywords><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s72/DSC08628.jpg' height='54' width='72'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s144/DSC08628.jpg' height='108' width='144'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s288/DSC08628.jpg' height='216' width='288'/><media:title type='plain'>DSC08628.jpg</media:title></media:group><gphoto:albumtitle>Povo</gphoto:albumtitle><gphoto:albumctitle>Povo</gphoto:albumctitle><gphoto:albumdesc/><gphoto:location/><gphoto:snippet/><gphoto:snippettype>PHOTO_DESCRIPTION</gphoto:snippettype><gphoto:truncated>0</gphoto:truncated></entry><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330</id><published>2010-08-02T06:39:38.000Z</published><updated>2010-08-02T06:41:35.469Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg</title><summary type='text'/><content type='image/jpeg' src='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Copa#5500698524635169330'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/pwybn-WyT1M-FkNuioXKEQ'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500679996869508145/photoid/5500698524635169330'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500679996869508145&amp;iid=5500698524635169330'/><author type='owner'><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri><email>113547798794418356618</email><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:thumbnail>http://lh6.ggpht.com/_dWuTCTElt7M/AAAATEEz0YA/AAAAAAAAAAA/gnrXtZbb3aY/s32-c/113547798794418356618.jpg</gphoto:thumbnail><gphoto:user>113547798794418356618</gphoto:user></author><gphoto:id>5500698524635169330</gphoto:id><gphoto:version>3</gphoto:version><gphoto:albumid>5500679996869508145</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>800</gphoto:width><gphoto:height>600</gphoto:height><gphoto:size>50497</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>13f1e047</gphoto:checksum><gphoto:timestamp>1277693631000</gphoto:timestamp><gphoto:imageVersion>27</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:time>1277693631000</exif:time><exif:imageUniqueID>af0867c2621e4e4361df587fdd993816</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='600' width='800' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'/><media:keywords>Povo, Praia</media:keywords><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s72/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='54' width='72'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s144/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='108' width='144'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZoKgllAjI/AAAAAAAAABs/ztVJi9aAm-M/s288/OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg' height='216' width='288'/><media:title type='plain'>OgAAABOaf4YCTk5KV4iJbu_mDia1EO50B0sPs7AWaQQjbamP9YRdXMyLPlGmis_MrVdLVs8jLxnL22ZKdmCEaMRHnnMAm1T1UKe1m1Mb7skiuIl--pp4qn68AH-I.jpg</media:title></media:group><gphoto:albumtitle>Copa</gphoto:albumtitle><gphoto:albumctitle>Copa</gphoto:albumctitle><gphoto:albumdesc>Jogos da copa na casa de Ítalo!</gphoto:albumdesc><gphoto:location/><gphoto:snippet/><gphoto:snippettype>PHOTO_DESCRIPTION</gphoto:snippettype><gphoto:truncated>0</gphoto:truncated></entry></feed>
16
+
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Set-Cookie: _rtok=AziiH0EtTyNj; Path=/; HttpOnly
3
+ Set-Cookie: S=photos_html=xofVMm768HlBTGmKQ1JSkA; Domain=.google.com; Path=/; HttpOnly
4
+ Content-Type: application/atom+xml; charset=UTF-8
5
+ Expires: Wed, 20 May 2009 10:51:15 GMT
6
+ Date: Wed, 20 May 2009 10:51:15 GMT
7
+ Cache-Control: private, must-revalidate, max-age=0
8
+ Vary: Accept, X-GData-Authorization, GData-Version, Cookie
9
+ GData-Version: 1.0
10
+ Last-Modified: Mon, 02 Aug 2009 05:33:12 GMT
11
+ Transfer-Encoding: chunked
12
+ X-Content-Type-Options: nosniff
13
+ Server: GFE/2.0
14
+
15
+ <?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:exif='http://schemas.google.com/photos/exif/2007' xmlns:gphoto='http://schemas.google.com/photos/2007' xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>http://picasaweb.google.com/data/feed/api/user/rafaelmkin/albumid/5500678977826487201</id><updated>2010-08-02T06:17:55.649Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'/><title type='text'>Povo</title><subtitle type='text'/><rights type='text'>public</rights><icon>http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/s160-c/Povo.jpg</icon><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500678977826487201'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Povo'/><link rel='http://schemas.google.com/photos/2007#slideshow' type='application/x-shockwave-flash' href='http://picasaweb.google.com/s/c/bin/slideshow.swf?host=picasaweb.google.com&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F113547798794418356618%2Falbumid%2F5500678977826487201%3Falt%3Drss'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500678977826487201'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500678977826487201?start-index=1&amp;max-results=1000'/><author><name>Rafael Souza</name><uri>http://picasaweb.google.com/113547798794418356618</uri></author><generator version='1.00' uri='http://picasaweb.google.com/'>Picasaweb</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>1000</openSearch:itemsPerPage><gphoto:id>5500678977826487201</gphoto:id><gphoto:name>Povo</gphoto:name><gphoto:location/><gphoto:access>public</gphoto:access><gphoto:timestamp>1267238385000</gphoto:timestamp><gphoto:numphotos>1</gphoto:numphotos><gphoto:user>113547798794418356618</gphoto:user><gphoto:nickname>Rafael Souza</gphoto:nickname><gphoto:commentingEnabled>true</gphoto:commentingEnabled><gphoto:commentCount>0</gphoto:commentCount><gphoto:allowPrints>true</gphoto:allowPrints><gphoto:allowDownloads>true</gphoto:allowDownloads><entry><id>http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490</id><published>2010-08-02T05:24:07.000Z</published><updated>2010-08-02T06:17:55.649Z</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#photo'/><title type='text'>DSC08628.jpg</title><summary type='text'>Luisa</summary><content type='image/jpeg' src='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://picasaweb.google.com/data/feed/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490'/><link rel='alternate' type='text/html' href='http://picasaweb.google.com/113547798794418356618/Povo#5500679064382643490'/><link rel='http://schemas.google.com/photos/2007#canonical' type='text/html' href='http://picasaweb.google.com/lh/photo/TjD0-BMejNqJlfxzBzdARA'/><link rel='self' type='application/atom+xml' href='http://picasaweb.google.com/data/entry/api/user/113547798794418356618/albumid/5500678977826487201/photoid/5500679064382643490'/><link rel='http://schemas.google.com/photos/2007#report' type='text/html' href='http://picasaweb.google.com/lh/reportAbuse?uname=113547798794418356618&amp;aid=5500678977826487201&amp;iid=5500679064382643490'/><gphoto:id>5500679064382643490</gphoto:id><gphoto:version>4</gphoto:version><gphoto:position>1.0</gphoto:position><gphoto:albumid>5500678977826487201</gphoto:albumid><gphoto:access>public</gphoto:access><gphoto:width>1296</gphoto:width><gphoto:height>972</gphoto:height><gphoto:size>282085</gphoto:size><gphoto:client>picasa</gphoto:client><gphoto:checksum>22d82033</gphoto:checksum><gphoto:timestamp>1267238385000</gphoto:timestamp><gphoto:imageVersion>15</gphoto:imageVersion><gphoto:commentCount>0</gphoto:commentCount><gphoto:license id='0' name='All Rights Reserved' url=''>ALL_RIGHTS_RESERVED</gphoto:license><exif:tags><exif:imageUniqueID>ae9a9ef43ce83188def5dde1121017a2</exif:imageUniqueID></exif:tags><media:group><media:content url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg' height='972' width='1296' type='image/jpeg' medium='image'/><media:credit>Rafael Souza</media:credit><media:description type='plain'>Luisa</media:description><media:keywords>Praia, Povo</media:keywords><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s72/DSC08628.jpg' height='54' width='72'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s144/DSC08628.jpg' height='108' width='144'/><media:thumbnail url='http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/s288/DSC08628.jpg' height='216' width='288'/><media:title type='plain'>DSC08628.jpg</media:title></media:group></entry></feed>
16
+
@@ -0,0 +1,20 @@
1
+ require 'rubygems'
2
+ gem 'test-unit'
3
+ require 'test/unit'
4
+ require 'fakeweb'
5
+
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ require 'picasa'
9
+
10
+ def fixture_file(filename)
11
+ return '' if filename == ''
12
+ file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/' + filename)
13
+ File.read(file_path)
14
+ end
15
+
16
+ FakeWeb.register_uri(:get, "picasaweb.google.com/data/feed/api/user/some.user", :response => fixture_file("albums"))
17
+ FakeWeb.register_uri(:get, "picasaweb.google.com/data/feed/api/user/some.user/albumid/5500679996869508145", :response => fixture_file("first_album"))
18
+ FakeWeb.register_uri(:get, "picasaweb.google.com/data/feed/api/user/some.user/albumid/5500678977826487201", :response => fixture_file("second_album"))
19
+ FakeWeb.register_uri(:get, "picasaweb.google.com/data/feed/api/user/some.user?kind=photo&tag=Praia,Povo", :response => fixture_file("photos_by_tags"))
20
+
@@ -0,0 +1,46 @@
1
+ require "test_helper"
2
+
3
+ class UserTest < Test::Unit::TestCase
4
+ test "Should return all albums" do
5
+ user = Picasa::User.new("some.user")
6
+ albums = user.albums
7
+
8
+ assert_equal 2, albums.count
9
+ assert_equal "Copa", albums.first.title
10
+ assert_equal 1, albums[1].photos_count
11
+ assert_equal "5500679996869508145", albums.first.id
12
+ assert_equal "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/Povo.jpg", albums[1].photo
13
+ assert_equal "Jogos da copa na casa de Ítalo!", albums.first.summary
14
+ assert_equal "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWYvDOe6E/AAAAAAAAABI/i6nzid5qDaw/s160-c/Povo.jpg", albums[1].thumbnail
15
+ assert_equal "some.user", albums.first.google_user
16
+ end
17
+
18
+ test "Should find photos" do
19
+ user = Picasa::User.new("some.user")
20
+ photo = user.albums[1].photos.first
21
+
22
+ assert_equal "Luisa", photo.title
23
+
24
+ src = "http://lh6.ggpht.com/_dWuTCTElt7M/TFZWdxf0nSI/AAAAAAAAAA8/kcmV4QBFitM/DSC08628.jpg"
25
+ assert_equal src, photo.src
26
+
27
+ assert_equal "Praia, Povo", photo.tags
28
+
29
+ assert_not_nil photo.thumbnail_1
30
+ assert_not_nil photo.thumbnail_2
31
+ assert_not_nil photo.thumbnail_3
32
+ end
33
+
34
+ test "Should find photos by tag" do
35
+ user = Picasa::User.new("some.user")
36
+
37
+ photos = user.photos_by_tags('Praia, Povo')
38
+
39
+ assert_equal 2, photos.size
40
+ assert_match "Praia", photos[0].tags
41
+ assert_match "Praia", photos[1].tags
42
+ assert_match "Povo", photos[0].tags
43
+ assert_match "Povo", photos[1].tags
44
+ end
45
+ end
46
+
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rafaels-picasa
3
+ version: !ruby/object:Gem::Version
4
+ hash: 17
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 3
10
+ version: 0.2.3
11
+ platform: ruby
12
+ authors:
13
+ - "Wojciech Wn\xC4\x99trzak"
14
+ - Rafael Souza
15
+ - Anderson Dias
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2010-08-02 00:00:00 -03:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: xml-simple
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 3
32
+ segments:
33
+ - 0
34
+ version: "0"
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: test-unit
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 2
48
+ - 0
49
+ - 6
50
+ version: 2.0.6
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: fakeweb
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ description: Simple Google Picasa managment
68
+ email: rafael@maisweb.org
69
+ executables: []
70
+
71
+ extensions: []
72
+
73
+ extra_rdoc_files:
74
+ - LICENSE
75
+ - README.rdoc
76
+ files:
77
+ - .document
78
+ - .gitignore
79
+ - .rvmrc
80
+ - LICENSE
81
+ - README.rdoc
82
+ - Rakefile
83
+ - VERSION.yml
84
+ - console
85
+ - lib/picasa.rb
86
+ - lib/picasa/album.rb
87
+ - lib/picasa/connection.rb
88
+ - lib/picasa/photo.rb
89
+ - lib/picasa/user.rb
90
+ - rafaels-picasa.gemspec
91
+ - test/album_test.rb
92
+ - test/fixtures/albums
93
+ - test/fixtures/first_album
94
+ - test/fixtures/photos_by_tags
95
+ - test/fixtures/second_album
96
+ - test/test_helper.rb
97
+ - test/user_test.rb
98
+ has_rdoc: true
99
+ homepage: http://github.com/rafaels/picasa
100
+ licenses: []
101
+
102
+ post_install_message:
103
+ rdoc_options:
104
+ - --charset=UTF-8
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ requirements: []
126
+
127
+ rubyforge_project:
128
+ rubygems_version: 1.3.7
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: simple google picasa managment
132
+ test_files:
133
+ - test/user_test.rb
134
+ - test/album_test.rb
135
+ - test/test_helper.rb