contacts 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/doc/classes/Contacts.html +195 -0
  2. data/doc/classes/Contacts.src/M000001.html +22 -0
  3. data/doc/classes/Contacts.src/M000002.html +24 -0
  4. data/doc/classes/Contacts/AuthenticationError.html +113 -0
  5. data/doc/classes/Contacts/Base.html +214 -0
  6. data/doc/classes/Contacts/Base.src/M000005.html +20 -0
  7. data/doc/classes/Contacts/Base.src/M000006.html +19 -0
  8. data/doc/classes/Contacts/Base.src/M000007.html +18 -0
  9. data/doc/classes/Contacts/Base.src/M000008.html +35 -0
  10. data/doc/classes/Contacts/Base.src/M000009.html +29 -0
  11. data/doc/classes/Contacts/Base.src/M000010.html +18 -0
  12. data/doc/classes/Contacts/ConnectionError.html +113 -0
  13. data/doc/classes/Contacts/ContactsError.html +111 -0
  14. data/doc/classes/Contacts/Gmail.html +172 -0
  15. data/doc/classes/Contacts/Gmail.src/M000004.html +60 -0
  16. data/doc/classes/Contacts/Hotmail.html +167 -0
  17. data/doc/classes/Contacts/Hotmail.src/M000011.html +63 -0
  18. data/doc/classes/Contacts/TypeNotFound.html +113 -0
  19. data/doc/classes/Contacts/Yahoo.html +167 -0
  20. data/doc/classes/Contacts/Yahoo.src/M000003.html +41 -0
  21. data/doc/created.rid +1 -0
  22. data/doc/files/README.html +168 -0
  23. data/doc/files/lib/contacts/base_rb.html +111 -0
  24. data/doc/files/lib/contacts/gmail_rb.html +108 -0
  25. data/doc/files/lib/contacts/hotmail_rb.html +101 -0
  26. data/doc/files/lib/contacts/yahoo_rb.html +108 -0
  27. data/doc/files/lib/contacts_rb.html +112 -0
  28. data/doc/fr_class_index.html +35 -0
  29. data/doc/fr_file_index.html +32 -0
  30. data/doc/fr_method_index.html +37 -0
  31. data/doc/index.html +24 -0
  32. data/doc/rdoc-style.css +208 -0
  33. data/lib/contacts/base.rb +1 -1
  34. data/lib/contacts/gmail.rb +1 -1
  35. data/lib/contacts/hotmail.rb +1 -1
  36. data/lib/contacts/yahoo.rb +8 -15
  37. metadata +44 -2
@@ -5,7 +5,7 @@ require "uri"
5
5
 
6
6
  class Contacts
7
7
  TYPES = {}
8
- VERSION = "1.0.0"
8
+ VERSION = "1.0.1"
9
9
 
10
10
  class Base
11
11
  def initialize(login, password)
@@ -70,7 +70,7 @@ class Contacts
70
70
 
71
71
  @contacts = parsed_data.select{|d| d[0] == "cl"}.inject([]) do |a,d|
72
72
  a.concat(d.inject([]) do |ar,dr|
73
- ar.concat(dr.is_a?(Array) ? [[dr[3],dr[4]]] : [])
73
+ ar.concat(dr.is_a?(Array) && dr[4] && !dr[4].empty? ? [[dr[3],dr[4]]] : [])
74
74
  end)
75
75
  end
76
76
  end
@@ -67,7 +67,7 @@ class Contacts
67
67
  @contacts = chunks.map do |chunk|
68
68
  name = chunk.split('return false;">')[1].split('</a>')[0] rescue nil
69
69
  email = chunk.split('return false;">')[2].split('</a>')[0] rescue nil
70
- [name, email] if email
70
+ [name, email] if email && email != "more"
71
71
  end.compact
72
72
  end
73
73
 
@@ -1,8 +1,10 @@
1
+ require 'csv'
2
+
1
3
  class Contacts
2
4
  class Yahoo < Base
3
5
  URL = "http://mail.yahoo.com/"
4
6
  LOGIN_URL = "https://login.yahoo.com/config/login"
5
- CONTACT_LIST_URL = "http://address.yahoo.com/"
7
+ CONTACT_LIST_URL = "http://address.yahoo.com/index.php?VPC=import_export&A=B&submit[action_export_yahoo]=Export%20Now"
6
8
  PROTOCOL_ERROR = "Yahoo has changed its protocols, please upgrade this library first. If that does not work, contact lucas@rufy.com with this error"
7
9
 
8
10
  def real_connect
@@ -35,20 +37,11 @@ class Contacts
35
37
  private
36
38
 
37
39
  def parse(data)
38
- chunks = data.split("c_row")
39
- chunks.delete_at(0)
40
-
41
- processed_data = {}
42
- chunks.each_with_index do |chunk, i|
43
- processed_data[i/2] ||= []
44
- if i%2 == 0 # then it is a name
45
- processed_data[i/2] << chunk.split(/[^,]\n/).grep(/contactname/).first.gsub(/(<|^).*?(>|$)/,'').strip
46
- else # it is an email
47
- processed_data[i/2] << chunk.split.grep(/compose.mail.yahoo.com/).first.gsub(/(<|^).*?(>|$)/,'').strip rescue next
48
- end
49
- end
50
-
51
- @contacts = processed_data.values.delete_if{|data|data[1].nil?}
40
+ data = CSV.parse(data)
41
+ col_names = data.shift
42
+ @contacts = data.map do |person|
43
+ [[person[0], person[1], person[2]].delete_if{|i|i.empty?}.join(" "), person[4]] unless person[4].empty?
44
+ end.compact
52
45
  end
53
46
 
54
47
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: contacts
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.0
7
- date: 2006-12-04 00:00:00 -08:00
6
+ version: 1.0.1
7
+ date: 2006-12-07 00:00:00 -08:00
8
8
  summary: Ridiculously easy contact list information from various providers including Yahoo, Gmail, and Hotmail
9
9
  require_paths:
10
10
  - lib
@@ -37,6 +37,48 @@ files:
37
37
  - LICENSE
38
38
  - Rakefile
39
39
  - README
40
+ - doc/classes
41
+ - doc/created.rid
42
+ - doc/files
43
+ - doc/fr_class_index.html
44
+ - doc/fr_file_index.html
45
+ - doc/fr_method_index.html
46
+ - doc/index.html
47
+ - doc/rdoc-style.css
48
+ - doc/classes/Contacts
49
+ - doc/classes/Contacts.html
50
+ - doc/classes/Contacts.src
51
+ - doc/classes/Contacts/AuthenticationError.html
52
+ - doc/classes/Contacts/Base.html
53
+ - doc/classes/Contacts/Base.src
54
+ - doc/classes/Contacts/ConnectionError.html
55
+ - doc/classes/Contacts/ContactsError.html
56
+ - doc/classes/Contacts/Gmail.html
57
+ - doc/classes/Contacts/Gmail.src
58
+ - doc/classes/Contacts/Hotmail.html
59
+ - doc/classes/Contacts/Hotmail.src
60
+ - doc/classes/Contacts/TypeNotFound.html
61
+ - doc/classes/Contacts/Yahoo.html
62
+ - doc/classes/Contacts/Yahoo.src
63
+ - doc/classes/Contacts/Base.src/M000005.html
64
+ - doc/classes/Contacts/Base.src/M000006.html
65
+ - doc/classes/Contacts/Base.src/M000007.html
66
+ - doc/classes/Contacts/Base.src/M000008.html
67
+ - doc/classes/Contacts/Base.src/M000009.html
68
+ - doc/classes/Contacts/Base.src/M000010.html
69
+ - doc/classes/Contacts/Gmail.src/M000004.html
70
+ - doc/classes/Contacts/Hotmail.src/M000011.html
71
+ - doc/classes/Contacts/Yahoo.src/M000003.html
72
+ - doc/classes/Contacts.src/M000001.html
73
+ - doc/classes/Contacts.src/M000002.html
74
+ - doc/files/lib
75
+ - doc/files/README.html
76
+ - doc/files/lib/contacts
77
+ - doc/files/lib/contacts_rb.html
78
+ - doc/files/lib/contacts/base_rb.html
79
+ - doc/files/lib/contacts/gmail_rb.html
80
+ - doc/files/lib/contacts/hotmail_rb.html
81
+ - doc/files/lib/contacts/yahoo_rb.html
40
82
  - examples/grab_contacts.rb
41
83
  test_files: []
42
84