contacts 1.0.0 → 1.0.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.
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