tuenti 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/tuenti.rb +11 -7
- data/tuenti.gemspec +4 -4
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/tuenti.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'active_support'
|
2
2
|
require 'mechanize'
|
3
3
|
require 'json'
|
4
|
+
DEBUG = false unless defined? DEBUG
|
4
5
|
|
5
6
|
class Tuenti
|
6
7
|
extend ActiveSupport::Memoizable
|
@@ -11,30 +12,33 @@ class Tuenti
|
|
11
12
|
ALBUMS_URL = 'http://www.tuenti.com/?m=Search&func=get_user_custom_albums_for_data_source&ajax=1'
|
12
13
|
EDIT_PHOTO_URL = 'http://www.tuenti.com/?m=Photoedit&func=process_edit_photo&ajax=1'
|
13
14
|
|
14
|
-
|
15
|
-
|
15
|
+
CSFR_REGEXP = /csfr(")?[:=](")?([0-9a-zA-Z]+)\b/
|
16
|
+
CSFR_REGEXP_INDEX = 3
|
16
17
|
|
17
18
|
def initialize(user, password, timezone = Time.now.utc_offset/3600)
|
18
19
|
@agent = WWW::Mechanize.new
|
19
|
-
@agent.post
|
20
|
-
@
|
20
|
+
raise Exception if @agent.post(LOGIN_URL, :email => user, :input_password => password, :timezone => timezone).uri.to_s == LOGIN_URL
|
21
|
+
@csfr = @agent.get(HOME_URL).body.match(CSFR_REGEXP)[CSFR_REGEXP_INDEX]
|
21
22
|
end
|
22
23
|
|
23
24
|
def upload_photo(file, attributes = nil)
|
24
25
|
qid = @agent.submit(upload_photo_form(file)).search('#request_data').text
|
26
|
+
puts "QID: #{qid}" if DEBUG
|
25
27
|
id = nil
|
26
28
|
# el formato del id es album_id-user_id-photo_id-user_id
|
27
29
|
while id.nil? || id =~ /-0-/ do # hasta que no se procesa photo_id es 0
|
28
30
|
sleep(0.5)
|
29
31
|
id = @agent.post(UPLOAD_URL, :func => 'checkq', :qid => qid).search('#request_data').text
|
30
32
|
end
|
33
|
+
puts "PHOTO ID: #{id}" if DEBUG
|
31
34
|
if attributes
|
32
|
-
options = {:
|
35
|
+
options = {:csfr => @csfr, :'item_ids[]' => id, :from_collection_key => id, :photo_title => attributes[:title] || ''}
|
33
36
|
if attributes[:album]
|
34
37
|
options[:'add_albums_collection_keys[]'] = album_id(attributes[:album])
|
35
|
-
|
38
|
+
#@new_albums_count = 0
|
39
|
+
puts options[:'add_albums_collection_keys[]'] if DEBUG
|
36
40
|
end
|
37
|
-
@agent.post EDIT_PHOTO_URL, options
|
41
|
+
@agent.post EDIT_PHOTO_URL + "&collection_key=#{id}", options
|
38
42
|
end
|
39
43
|
id
|
40
44
|
end
|
data/tuenti.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tuenti}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Sergio Cambra"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-06-01}
|
13
13
|
s.description = %q{A non-official Ruby API for Tuenti}
|
14
14
|
s.email = %q{sergio@enpijama.es}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -34,8 +34,8 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.rubygems_version = %q{1.3.5}
|
35
35
|
s.summary = %q{A non-official Ruby API for Tuenti}
|
36
36
|
s.test_files = [
|
37
|
-
"test/
|
38
|
-
"test/
|
37
|
+
"test/helper.rb",
|
38
|
+
"test/test_tuenti.rb"
|
39
39
|
]
|
40
40
|
|
41
41
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tuenti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergio Cambra
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-06-01 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -101,5 +101,5 @@ signing_key:
|
|
101
101
|
specification_version: 3
|
102
102
|
summary: A non-official Ruby API for Tuenti
|
103
103
|
test_files:
|
104
|
-
- test/test_tuenti.rb
|
105
104
|
- test/helper.rb
|
105
|
+
- test/test_tuenti.rb
|