AddressBookImporter 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -2,3 +2,5 @@
2
2
 
3
3
  * Initial release
4
4
 
5
+ == 0.0.2 / 2006-11-27
6
+ * Fixed Hotmail somewhat
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'mechanize'
3
3
 
4
4
  module AddressBookImporter
5
- VERSION = '0.0.1'
5
+ VERSION = "0.0.2"
6
6
  class EmptyEmailException < Exception ; end
7
7
  class LoginErrorException < Exception ; end
8
8
  class ParseException < Exception ; end
@@ -45,10 +45,16 @@ module AddressBookImporter
45
45
  end
46
46
 
47
47
  def fetch_contacts(page)
48
- link = page.links.select{|l|l.node.at('a')['href'] =~ /addresses/}.first.node.at('a')['href'].match(/'(.*)'/)[1]
49
48
  params = page.body.match(/(&curmbox[^"]+)/)[1]
50
- contact_page = @agent.get(link+params)
51
- contact_page.links.select{|l|l.text =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/}.collect{|l|l.text}
49
+ start = params.match(/(a=.*)/)[1]
50
+ contact_page = @agent.get("/cgi-bin/AddressPicker?" + start+params + "&Context=InsertAddress&_HMaction=Edit&qF=to")
51
+ rval = []
52
+ match_string = contact_page.body
53
+ while !(match = match_string.match(/'([^@\s]+@[-a-z0-9]+\.+[a-z]{2,})'/)).nil?
54
+ rval << match[1]
55
+ match_string = match.post_match
56
+ end
57
+ rval
52
58
  end
53
59
  end
54
60
 
@@ -91,3 +97,4 @@ module AddressBookImporter
91
97
  end
92
98
  end
93
99
  end
100
+
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: AddressBookImporter
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
7
- date: 2006-11-13 00:00:00 +01:00
6
+ version: 0.0.2
7
+ date: 2006-11-27 00:00:00 +01:00
8
8
  summary: Mechanize scraper for address books
9
9
  require_paths:
10
10
  - lib