wmap 2.7.2 → 2.7.6

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -16
  3. data/bin/refresh +5 -5
  4. data/lib/wmap.rb +1 -1
  5. data/lib/wmap/site_tracker.rb +1 -4
  6. data/lib/wmap/{wp_tracker.rb → site_tracker/wp_tracker.rb} +41 -4
  7. data/lib/wmap/url_crawler.rb +1 -1
  8. data/version.txt +2 -2
  9. data/wmap.gemspec +2 -2
  10. metadata +4 -59
  11. data/ruby_whois_patches/base_cocca2.rb +0 -149
  12. data/ruby_whois_patches/kero.yachay.pe.rb +0 -120
  13. data/ruby_whois_patches/whois.PublicDomainRegistry.com.rb +0 -124
  14. data/ruby_whois_patches/whois.above.com.rb +0 -61
  15. data/ruby_whois_patches/whois.adamsnames.tc.rb +0 -107
  16. data/ruby_whois_patches/whois.aeda.net.ae.rb +0 -105
  17. data/ruby_whois_patches/whois.ai.rb +0 -112
  18. data/ruby_whois_patches/whois.arnes.si.rb +0 -121
  19. data/ruby_whois_patches/whois.ascio.com.rb +0 -91
  20. data/ruby_whois_patches/whois.cnnic.cn.rb +0 -123
  21. data/ruby_whois_patches/whois.corporatedomains.com.rb +0 -67
  22. data/ruby_whois_patches/whois.crsnic.net.rb +0 -108
  23. data/ruby_whois_patches/whois.denic.de.rb +0 -174
  24. data/ruby_whois_patches/whois.dk-hostmaster.dk.rb +0 -120
  25. data/ruby_whois_patches/whois.dns.be.rb +0 -134
  26. data/ruby_whois_patches/whois.dns.lu.rb +0 -129
  27. data/ruby_whois_patches/whois.dns.pl.rb +0 -150
  28. data/ruby_whois_patches/whois.dns.pt.rb +0 -119
  29. data/ruby_whois_patches/whois.domain.kg.rb +0 -126
  30. data/ruby_whois_patches/whois.domainregistry.my.rb +0 -123
  31. data/ruby_whois_patches/whois.domreg.lt.rb +0 -110
  32. data/ruby_whois_patches/whois.dot.tk.rb +0 -140
  33. data/ruby_whois_patches/whois.hkirc.hk.rb +0 -121
  34. data/ruby_whois_patches/whois.isnic.is.rb +0 -130
  35. data/ruby_whois_patches/whois.je.rb +0 -119
  36. data/ruby_whois_patches/whois.jprs.jp.rb +0 -137
  37. data/ruby_whois_patches/whois.kenic.or.ke.rb +0 -140
  38. data/ruby_whois_patches/whois.markmonitor.com.rb +0 -118
  39. data/ruby_whois_patches/whois.melbourneit.com.rb +0 -58
  40. data/ruby_whois_patches/whois.nic.as.rb +0 -96
  41. data/ruby_whois_patches/whois.nic.at.rb +0 -109
  42. data/ruby_whois_patches/whois.nic.ch.rb +0 -141
  43. data/ruby_whois_patches/whois.nic.cl.rb +0 -117
  44. data/ruby_whois_patches/whois.nic.ec.rb +0 -157
  45. data/ruby_whois_patches/whois.nic.im.rb +0 -120
  46. data/ruby_whois_patches/whois.nic.it.rb +0 -170
  47. data/ruby_whois_patches/whois.nic.lv.rb +0 -116
  48. data/ruby_whois_patches/whois.nic.ly.rb +0 -127
  49. data/ruby_whois_patches/whois.nic.mu.rb +0 -27
  50. data/ruby_whois_patches/whois.nic.mx.rb +0 -123
  51. data/ruby_whois_patches/whois.nic.net.sa.rb +0 -111
  52. data/ruby_whois_patches/whois.nic.or.kr.rb +0 -101
  53. data/ruby_whois_patches/whois.nic.tel.rb +0 -129
  54. data/ruby_whois_patches/whois.nic.tr.rb +0 -133
  55. data/ruby_whois_patches/whois.nic.us.rb +0 -129
  56. data/ruby_whois_patches/whois.nic.ve.rb +0 -135
  57. data/ruby_whois_patches/whois.norid.no.rb +0 -127
  58. data/ruby_whois_patches/whois.pandi.or.id.rb +0 -118
  59. data/ruby_whois_patches/whois.psi-usa.info.rb +0 -63
  60. data/ruby_whois_patches/whois.registro.br.rb +0 -109
  61. data/ruby_whois_patches/whois.registrygate.com.rb +0 -55
  62. data/ruby_whois_patches/whois.rrpproxy.net.rb +0 -61
  63. data/ruby_whois_patches/whois.sgnic.sg.rb +0 -130
  64. data/ruby_whois_patches/whois.srs.net.nz.rb +0 -166
  65. data/ruby_whois_patches/whois.tucows.com.rb +0 -70
  66. data/ruby_whois_patches/whois.twnic.net.tw.rb +0 -133
@@ -1,63 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
- require 'whois/record/parser/base'
10
-
11
- module Whois
12
- class Record
13
- class Parser
14
-
15
- # Parser for the whois.psi-usa.info server, added by Yang Li 02/10/2013.
16
- class WhoisPsiUsaInfo < Base
17
-
18
- property_supported :admin_contacts do
19
- build_contact("\\[admin\-c\\]", Whois::Record::Contact::TYPE_ADMIN)
20
- end
21
-
22
- property_supported :registrant_contacts do
23
- build_contact("\\[owner\-c\\]", Whois::Record::Contact::TYPE_REGISTRANT)
24
- end
25
-
26
- property_supported :technical_contacts do
27
- build_contact("\\[tech\-c\\]", Whois::Record::Contact::TYPE_TECHNICAL)
28
- end
29
-
30
- property_supported :billing_contacts do
31
- build_contact("\\[zone\-c\\]", Whois::Record::Contact::TYPE_BILLING)
32
- end
33
-
34
- private
35
-
36
- def build_contact(element, type)
37
- reg=Record::Contact.new(:type => type)
38
- content_for_scanner.scan(/^#{element}(.+?):\s+(.+?)\n/).map do |entry|
39
- reg["id"]=entry[1] if entry[0] =~ /handle/i
40
- if entry[0] =~ /(fname|lname)/i
41
- if reg["name"].nil?
42
- reg["name"]=entry[1]
43
- else
44
- reg["name"]=reg["name"]+" "+entry[1]
45
- end
46
- end
47
- reg["organization"]=entry[1] if entry[0]=~ /org/i
48
- reg["address"]=entry[1] if entry[0]=~ /address/i
49
- reg["city"]= entry[1] if entry[0]=~ /city/i
50
- reg["zip"]=entry[1] if entry[0]=~ /pcode/i
51
- reg["state"]=entry[1] if entry[0]=~ /state/i
52
- reg["country_code"]=entry[1] if entry[0]=~ /country/i
53
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
54
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
55
- reg["email"]=entry[1] if entry[0]=~ /email/i
56
- end
57
- return reg
58
- end
59
-
60
- end
61
- end
62
- end
63
- end
@@ -1,109 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- #
18
- # = whois.registro.br parser
19
- #
20
- # Parser for the whois.registro.br server.
21
- #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisRegistroBr < Base
29
-
30
- property_supported :status do
31
- if available?
32
- :available
33
- else
34
- :registered
35
- end
36
- end
37
-
38
- property_supported :available? do
39
- !!(content_for_scanner =~ /No match for domain/)
40
- end
41
-
42
- property_supported :registered? do
43
- !available?
44
- end
45
-
46
- property_supported :created_on do
47
- if content_for_scanner =~ /created:\s+(.+?)(\s+#.+)?\n/
48
- Time.parse($1)
49
- end
50
- end
51
-
52
- property_supported :updated_on do
53
- if content_for_scanner =~ /changed:\s+(.+?)\n/
54
- Time.parse($1)
55
- end
56
- end
57
-
58
- property_supported :expires_on do
59
- if content_for_scanner =~ /expires:\s+(.+?)\n/
60
- Time.parse($1)
61
- end
62
- end
63
-
64
- property_supported :nameservers do
65
- content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |line|
66
- name, ipv4 = line.strip.split(" ")
67
- Record::Nameserver.new(:name => name, :ipv4 => ipv4)
68
- end
69
- end
70
-
71
- # The following methods are implemented by Yang Li on 03/04/2013
72
- # ----------------------------------------------------------------------------
73
- property_supported :domain do
74
- return build_node("domain",content_for_scanner)
75
- end
76
-
77
- property_not_supported :domain_id
78
-
79
- property_not_supported :registrar
80
-
81
- property_supported :registrant_contacts do
82
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
83
- end
84
-
85
- property_not_supported :admin_contacts
86
-
87
- property_not_supported :technical_contacts
88
-
89
- property_not_supported :billing_contacts
90
-
91
- private
92
-
93
- def build_contact(element, type)
94
- reg=Record::Contact.new(:type => type)
95
- reg["name"]=build_node("owner", content_for_scanner)
96
- reg["organization"]=build_node("owner", content_for_scanner)
97
- return reg
98
- end
99
-
100
- def build_node(element,context)
101
- return $1.strip if context =~ /^#{element}:(.+)\n/i
102
- end
103
- # ----------------------------------------------------------------------------
104
-
105
- end
106
-
107
- end
108
- end
109
- end
@@ -1,55 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
- require 'whois/record/parser/base'
10
-
11
- module Whois
12
- class Record
13
- class Parser
14
-
15
- # Parser for the whois.registrygate.com server, added by Yang Li 02/10/2013.
16
- class WhoisRegistrygateCom < Base
17
-
18
- property_supported :admin_contacts do
19
- build_contact("admin-", Whois::Record::Contact::TYPE_ADMIN)
20
- end
21
-
22
- property_supported :registrant_contacts do
23
- build_contact("owner-", Whois::Record::Contact::TYPE_REGISTRANT)
24
- end
25
-
26
- property_supported :technical_contacts do
27
- build_contact("tech-", Whois::Record::Contact::TYPE_TECHNICAL)
28
- end
29
-
30
- property_not_supported :billing_contacts
31
-
32
- private
33
-
34
- def build_contact(element, type)
35
- reg=Record::Contact.new(:type => type)
36
- content_for_scanner.scan(/^(#{element}.*):\s+(.+)\n/).map do |entry|
37
- reg["id"]=entry[1] if entry[0] =~ /id/i
38
- reg["name"]=entry[1] if entry[0] =~ /name/i
39
- reg["organization"]=entry[1] if entry[0]=~ /org/i
40
- reg["address"]=entry[1] if entry[0]=~ /address/i
41
- reg["city"]= entry[1] if entry[0]=~ /city/i
42
- reg["zip"]=entry[1] if entry[0]=~ /pcode/i
43
- reg["state"]=entry[1] if entry[0]=~ /state/i
44
- reg["country_code"]=entry[1] if entry[0]=~ /country/i
45
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
46
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
47
- reg["email"]=entry[1] if entry[0]=~ /email/i
48
- end
49
- return reg
50
- end
51
-
52
- end
53
- end
54
- end
55
- end
@@ -1,61 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
- require 'whois/record/parser/base'
10
-
11
- module Whois
12
- class Record
13
- class Parser
14
-
15
- # Parser for the whois.rrpproxy.net server, added by Yang Li 02/10/2013.
16
- class WhoisRrpproxyNet < Base
17
-
18
- property_supported :admin_contacts do
19
- build_contact("admin-", Whois::Record::Contact::TYPE_ADMIN)
20
- end
21
-
22
- property_supported :registrant_contacts do
23
- build_contact("owner-", Whois::Record::Contact::TYPE_REGISTRANT)
24
- end
25
-
26
- property_supported :technical_contacts do
27
- build_contact("tech-", Whois::Record::Contact::TYPE_TECHNICAL)
28
- end
29
-
30
- property_not_supported :billing_contacts
31
-
32
- private
33
-
34
- def build_contact(element, type)
35
- reg=Record::Contact.new(:type => type)
36
- content_for_scanner.scan(/^(#{element}.*):\s*(.+)\n/).map do |entry|
37
- reg["id"]=entry[1] if entry[0] =~ /contact/i
38
- if entry[0] =~ /(fname|lname)/i
39
- if reg["name"].nil?
40
- reg["name"]=entry[1]
41
- else
42
- reg["name"]=reg["name"]+" "+entry[1]
43
- end
44
- end
45
- reg["organization"]=entry[1] if entry[0]=~ /organization/i
46
- reg["address"]=entry[1] if entry[0]=~ /street/i
47
- reg["city"]= entry[1] if entry[0]=~ /city/i
48
- reg["zip"]=entry[1] if entry[0]=~ /zip/i
49
- reg["state"]=entry[1] if entry[0]=~ /state/i
50
- reg["country_code"]=entry[1] if entry[0]=~ /country/i
51
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
52
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
53
- reg["email"]=entry[1] if entry[0]=~ /email/i
54
- end
55
- return reg
56
- end
57
-
58
- end
59
- end
60
- end
61
- end
@@ -1,130 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- #
18
- # = whois.sgnic.sg parser
19
- #
20
- # Parser for the whois.sgnic.sg server.
21
- #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisSgnicSg < Base
29
-
30
- property_supported :status do
31
- content_for_scanner.scan(/^\s+Domain Status:\s+(.+?)\n/).flatten
32
- end
33
-
34
- property_supported :available? do
35
- !!(content_for_scanner.strip == "Domain Not Found")
36
- end
37
-
38
- property_supported :registered? do
39
- !available?
40
- end
41
-
42
-
43
- property_supported :created_on do
44
- if content_for_scanner =~ /^\s+Creation Date:\s+(.*)\n/
45
- Time.parse($1)
46
- end
47
- end
48
-
49
- # This method is modified by Yang on 01/15/2013
50
- property_supported :updated_on do
51
- if content_for_scanner =~ /^\s+Modified Date:\s+(.*)\n/
52
- Time.parse($1)
53
- end
54
- end
55
-
56
- property_supported :expires_on do
57
- if content_for_scanner =~ /^\s+Expiration Date:\s+(.*)\n/
58
- Time.parse($1)
59
- end
60
- end
61
-
62
- property_supported :nameservers do
63
- if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
64
- values = case value = $1.downcase
65
- # schema-1
66
- when /^(?:\s+([\w.-]+)\n){2,}/
67
- value.scan(/\s+([\w.-]+)\n/).map do |match|
68
- { :name => match[0] }
69
- end
70
- when /^(?:\s+([\w.-]+)\s+\((.+)\)\n){2,}/
71
- value.scan(/\s+([\w.-]+)\s+\((.+)\)\n/).map do |match|
72
- { :name => match[0], :ipv4 => match[1] }
73
- end
74
- # schema-2
75
- when /^(?:\s+([\w.-]+)){2,}/
76
- value.strip.split(/\s+/).map do |name|
77
- { :name => name }
78
- end
79
- else
80
- Whois.bug!(ParserError, "Unknown nameservers format `#{value}'")
81
- end
82
-
83
- values.map do |params|
84
- Record::Nameserver.new(params)
85
- end
86
- end
87
- end
88
-
89
- # The following methods are implemented by Yang on 1/15/2013
90
- # ----------------------------------------------------------------------------
91
- property_supported :domain do
92
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\s+\n/i
93
- end
94
-
95
- property_not_supported :domain_id
96
-
97
- property_supported :registrar do
98
- return $1 if content_for_scanner =~ /Registrar:\s+(.*)\s+\n/i
99
- end
100
-
101
- property_supported :admin_contacts do
102
- build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
103
- end
104
-
105
- property_supported :registrant_contacts do
106
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
107
- end
108
-
109
- property_supported :technical_contacts do
110
- build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
111
- end
112
-
113
- private
114
-
115
- def build_contact(element, type)
116
- reg=Record::Contact.new(:type => type)
117
- values=$1 if content_for_scanner =~ /#{element}:\n\s*\n((.+\n)+)\n/
118
- values.scan(/^\s+(.+):\s*(.+)\s*\n/).map do |entry|
119
- reg["name"]=entry[1] if entry[0] =~ /Name/i
120
- reg["email"]=entry[1] if entry[0]=~ /Email/i
121
- end
122
- return reg
123
- end
124
- # ----------------------------------------------------------------------------
125
-
126
- end
127
-
128
- end
129
- end
130
- end
@@ -1,166 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- # Parser for the whois.srs.net.nz server.
18
- #
19
- # @note This parser is just a stub and provides only a few basic methods
20
- # to check for domain availability and get domain status.
21
- # Please consider to contribute implementing missing methods.
22
- #
23
- # @see Whois::Record::Parser::Example
24
- # The Example parser for the list of all available methods.
25
- #
26
- class WhoisSrsNetNz < Base
27
-
28
- # @see http://dnc.org.nz/content/srs-whois-spec-1.0.html
29
- property_supported :status do
30
- if content_for_scanner =~ /query_status:\s(.+)\n/
31
- case (s = $1.downcase)
32
- when "200 active"
33
- :registered
34
- # The domain is no longer active but is in the period prior
35
- # to being released for general registrations
36
- when "210 pendingrelease"
37
- :redemption
38
- when "220 available"
39
- :available
40
- when "404 request denied"
41
- :error
42
- when /invalid characters/
43
- :invalid
44
- else
45
- Whois.bug!(ParserError, "Unknown status `#{s}'.")
46
- end
47
- else
48
- Whois.bug!(ParserError, "Unable to parse status.")
49
- end
50
- end
51
-
52
- property_supported :available? do
53
- status == :available
54
- end
55
-
56
- property_supported :registered? do
57
- status == :registered || status == :redemption
58
- end
59
-
60
-
61
- property_supported :created_on do
62
- if content_for_scanner =~ /domain_dateregistered:\s(.+)\n/
63
- Time.parse($1)
64
- end
65
- end
66
-
67
- property_supported :updated_on do
68
- if content_for_scanner =~ /domain_datelastmodified:\s(.+)\n/
69
- Time.parse($1)
70
- end
71
- end
72
-
73
- property_supported :expires_on do
74
- if content_for_scanner =~ /domain_datebilleduntil:\s(.+)\n/
75
- Time.parse($1)
76
- end
77
- end
78
-
79
- property_supported :nameservers do
80
- content_for_scanner.scan(/ns_name_[\d]+:\s(.+)\n/).flatten.map do |name|
81
- Record::Nameserver.new(:name => name)
82
- end
83
- end
84
-
85
- # Checks whether the response has been throttled.
86
- #
87
- # @return [Boolean]
88
- #
89
- # @example
90
- # query_status: 440 Request Denied
91
- #
92
- def response_throttled?
93
- cached_properties_fetch(:response_throttled?) do
94
- !!(content_for_scanner =~ /^query_status: 440 Request Denied/)
95
- end
96
- end
97
-
98
- # NEWPROPERTY
99
- def valid?
100
- cached_properties_fetch(:valid?) do
101
- !invalid?
102
- end
103
- end
104
-
105
- # NEWPROPERTY
106
- def invalid?
107
- cached_properties_fetch(:invalid?) do
108
- status == :invalid
109
- end
110
- end
111
-
112
- # The following methods are implemented by Yang Li on 01/24/2013
113
- # ----------------------------------------------------------------------------
114
- property_supported :domain do
115
- return $1 if content_for_scanner =~ /domain_name:\s+(.*)\n/i
116
- end
117
-
118
- property_not_supported :domain_id
119
-
120
- property_supported :registrar do
121
- reg=Record::Registrar.new
122
- content_for_scanner.scan(/^registrar_(.+):\s+(.+)\n/).map do |entry|
123
- reg["name"] = entry[1] if entry[0] =~ /name/i
124
- reg["organization"] = entry[1] if entry[0] =~ /name/i
125
- reg["id"] = entry[1] if entry[0] =~ /phone/i
126
- reg["url"] = entry[1] if entry[0] =~ /email/i
127
- end
128
- return reg
129
- end
130
-
131
- property_supported :registrant_contacts do
132
- build_contact("registrant_", Whois::Record::Contact::TYPE_REGISTRANT)
133
- end
134
-
135
- property_supported :admin_contacts do
136
- build_contact("admin_", Whois::Record::Contact::TYPE_ADMIN)
137
- end
138
-
139
- property_supported :technical_contacts do
140
- build_contact("technical_", Whois::Record::Contact::TYPE_TECHNICAL)
141
- end
142
-
143
- property_not_supported :billing_contacts
144
-
145
- private
146
-
147
- def build_contact(element, type)
148
- reg=Record::Contact.new(:type => type)
149
- content_for_scanner.scan(/^#{element}(.+):\s+(.+)\n/).map do |entry|
150
- reg["name"]=entry[1] if entry[0] =~ /name/i
151
- reg["organization"]=entry[1] if entry[0]=~ /name/i
152
- reg["address"]=entry[1] if entry[0]=~ /address1/i
153
- reg["city"]= entry[1] if entry[0]=~ /city/i
154
- reg["country"]=entry[1] if entry[0]=~ /country/i
155
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
156
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
157
- reg["email"]=entry[1] if entry[0]=~ /email/i
158
- end
159
- return reg
160
- end
161
- # ----------------------------------------------------------------------------
162
-
163
- end
164
- end
165
- end
166
- end