contacts 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +2 -1
- data/lib/contacts/aol.rb +11 -6
- data/lib/contacts/base.rb +1 -1
- metadata +1 -1
data/README
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
== Welcome to Contacts
|
2
2
|
|
3
|
-
Contacts is a universal interface to grab contact list information from various providers including Hotmail, AOL, Gmail and Yahoo.
|
3
|
+
Contacts is a universal interface to grab contact list information from various providers including Hotmail, AOL, Gmail, Plaxo and Yahoo.
|
4
4
|
|
5
5
|
== Download
|
6
6
|
|
@@ -41,6 +41,7 @@ See the examples/ directory.
|
|
41
41
|
* Waheed Barghouthi from Watwet (mailto:waheed.barghouthi@gmail.com) - http://watwet.com
|
42
42
|
* Glenn Sidney from Glenn Fu (mailto:glenn@glennfu.com) - http://glennfu.com
|
43
43
|
* Brian McQuay from Onomojo (mailto:brian@onomojo.com) - http://onomojo.com
|
44
|
+
* Adam Hunter (mailto:adamhunter@me.com) - http://adamhunter.me/
|
44
45
|
|
45
46
|
This library is released under the terms of the BSD.
|
46
47
|
|
data/lib/contacts/aol.rb
CHANGED
@@ -9,6 +9,7 @@ end
|
|
9
9
|
|
10
10
|
class Contacts
|
11
11
|
require 'hpricot'
|
12
|
+
require 'csv'
|
12
13
|
class Aol < Base
|
13
14
|
URL = "http://www.aol.com/"
|
14
15
|
LOGIN_URL = "https://my.screenname.aol.com/_cqr/login/login.psp"
|
@@ -125,21 +126,25 @@ class Contacts
|
|
125
126
|
end
|
126
127
|
|
127
128
|
data, resp, cookies, forward, old_url = get(CONTACT_LIST_CSV_URL, @cookies, CONTACT_LIST_URL) + [CONTACT_LIST_URL]
|
129
|
+
|
130
|
+
until forward.nil?
|
131
|
+
data, resp, cookies, forward, old_url = get(forward, cookies, old_url) + [forward]
|
132
|
+
end
|
128
133
|
|
129
|
-
if
|
130
|
-
|
131
|
-
else
|
132
|
-
raise AuthenticationError, "Account cancelled"
|
134
|
+
if data.include?("error.gif")
|
135
|
+
raise AuthenticationError, "Account invalid"
|
133
136
|
end
|
137
|
+
|
138
|
+
parse data
|
134
139
|
end
|
135
140
|
end
|
136
141
|
private
|
137
142
|
|
138
143
|
def parse(data, options={})
|
139
|
-
data = CSV.parse(data)
|
144
|
+
data = CSV::Reader.parse(data)
|
140
145
|
col_names = data.shift
|
141
146
|
@contacts = data.map do |person|
|
142
|
-
["#{person[0]} #{person[1]}", person[4]]
|
147
|
+
["#{person[0]} #{person[1]}", person[4]] if person[4] && !person[4].empty?
|
143
148
|
end.compact
|
144
149
|
end
|
145
150
|
end
|
data/lib/contacts/base.rb
CHANGED