dwc_agent 2.0.1.2 → 3.0.0.0
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.
- checksums.yaml +4 -4
- data/bin/dwcagent +2 -2
- data/lib/dwc_agent/cleaner.rb +22 -14
- data/lib/dwc_agent/constants.rb +4 -2
- data/lib/dwc_agent/version.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 969bc7536c6e62205c92cd816cccf491d4f307f81cafaa7c9fd4ba90d41a1bb1
|
4
|
+
data.tar.gz: 21a049be78e691ab7905eae6af9723b9b2aeaca4e7d7594107f968494d71a932
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdb088fa5df59b1c058226b8266b0e8d3c686f6e3632ddf09867b0ac75c8e9cd292ab44025e2e97720161963e0a5f7f9d7daf718f55ed9d0a66f9d0a44c03d78
|
7
|
+
data.tar.gz: 222e2443238ba507d97a7f069d08fbec5f070ec647f83d353ca482a0bbec926587e5ef65af21d7505f6abb714c709d2f3409efcc00d204d47f7ea723f05e3eb5
|
data/bin/dwcagent
CHANGED
@@ -7,8 +7,8 @@ require 'json'
|
|
7
7
|
names = []
|
8
8
|
DwcAgent.parse(ARGV[0].dup).each do |r|
|
9
9
|
name = DwcAgent.clean(r)
|
10
|
-
if !name
|
10
|
+
if !name.family.nil? && name.family.length >= 2
|
11
11
|
names << name
|
12
12
|
end
|
13
13
|
end
|
14
|
-
puts names.uniq.to_json
|
14
|
+
puts names.uniq.to_h.to_json
|
data/lib/dwc_agent/cleaner.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
module DwcAgent
|
2
|
+
|
2
3
|
class Cleaner
|
3
4
|
|
4
5
|
class << self
|
@@ -16,26 +17,25 @@ module DwcAgent
|
|
16
17
|
# @param parsed_namae [Object] the namae object
|
17
18
|
# @return [Hash] the given, family hash
|
18
19
|
def clean(parsed_namae)
|
19
|
-
blank_name = { title: nil, appellation: nil, given: nil, particle: nil, family: nil, suffix: nil }
|
20
20
|
|
21
21
|
if parsed_namae.given && GIVEN_BLACKLIST.any?{ |s| s.casecmp(parsed_namae.given) == 0 }
|
22
|
-
return
|
22
|
+
return Namae::Name.new
|
23
23
|
end
|
24
24
|
|
25
25
|
if parsed_namae.family && parsed_namae.family.length == 3 && parsed_namae.family.count('.') == 1
|
26
|
-
return
|
26
|
+
return Namae::Name.new
|
27
27
|
end
|
28
28
|
|
29
29
|
if parsed_namae.given && parsed_namae.given.length > 35
|
30
|
-
return
|
30
|
+
return Namae::Name.new
|
31
31
|
end
|
32
32
|
|
33
33
|
if parsed_namae.given && parsed_namae.given.count('.') >= 3 && /\.\s*[a-zA-Z]{4,}\s+[a-zA-Z]{1,}\./.match(parsed_namae.given)
|
34
|
-
return
|
34
|
+
return Namae::Name.new
|
35
35
|
end
|
36
36
|
|
37
37
|
if parsed_namae.display_order =~ BLACKLIST
|
38
|
-
return
|
38
|
+
return Namae::Name.new
|
39
39
|
end
|
40
40
|
|
41
41
|
if parsed_namae.given &&
|
@@ -76,7 +76,7 @@ module DwcAgent
|
|
76
76
|
end
|
77
77
|
|
78
78
|
if parsed_namae.family && FAMILY_BLACKLIST.any?{ |s| s.casecmp(parsed_namae.family) == 0 }
|
79
|
-
return
|
79
|
+
return Namae::Name.new
|
80
80
|
end
|
81
81
|
|
82
82
|
parsed_namae.normalize_initials
|
@@ -111,22 +111,30 @@ module DwcAgent
|
|
111
111
|
end
|
112
112
|
|
113
113
|
if !family.nil? && family.match(/[A-Z]$/)
|
114
|
-
return
|
114
|
+
return Namae::Name.new
|
115
115
|
end
|
116
116
|
|
117
117
|
if given.nil? && !family.nil? && family.match(/^[A-Z]{2}/)
|
118
|
-
return
|
118
|
+
return Namae::Name.new
|
119
119
|
end
|
120
120
|
|
121
121
|
if !family.nil? && FAMILY_BLACKLIST.any?{ |s| s.casecmp(family) == 0 }
|
122
|
-
return
|
122
|
+
return Namae::Name.new
|
123
123
|
end
|
124
124
|
|
125
125
|
if !given.nil? && GIVEN_BLACKLIST.any?{ |s| s.casecmp(given) == 0 }
|
126
|
-
return
|
127
|
-
end
|
128
|
-
|
129
|
-
|
126
|
+
return Namae::Name.new
|
127
|
+
end
|
128
|
+
|
129
|
+
name = {
|
130
|
+
title: title,
|
131
|
+
appellation: appellation,
|
132
|
+
given: given,
|
133
|
+
particle: particle,
|
134
|
+
family: family,
|
135
|
+
suffix: suffix
|
136
|
+
}
|
137
|
+
Namae::Name.new(name)
|
130
138
|
end
|
131
139
|
|
132
140
|
end
|
data/lib/dwc_agent/constants.rb
CHANGED
@@ -52,7 +52,7 @@ module DwcAgent
|
|
52
52
|
\d+\s+(?i:Nov|Novemb(er|re))\.?\b|
|
53
53
|
\d+\s+(?i:Dec|D(e|é)cemb(er|re))\.?\b|
|
54
54
|
\b[.-–,;:/]?\s*(?i:Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Evergreen|Florida|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New\s+Hampshire|New\s+Jersey|New\s+Mexico|New\s+York|North\s+Carolina|North\s+Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Portland|Rhode\s+Island|South\s+Carolina|South\s+Dakota|St\s+Petersburg|Tennessee|Texas|Utah|Vermont|Washington|West\s+Virginia|Wisconsin|Wyoming)\s+(?i:State)\s*\b|
|
55
|
-
\b[.,;:/]?\s*?(?i:Afghanistan|Åland Islands|Albania|Algeria|American Samoa|Andorra|Angola|Anguilla|Antarctica|Antigua and Barbuda|Argentina|Armenia|Aruba|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|
|
55
|
+
\b[.,;:/]?\s*?(?i:Afghanistan|Åland Islands|Albania|Algeria|American Samoa|Andorra|Angola|Anguilla|Antarctica|Antigua and Barbuda|Argentina|Armenia|Aruba|Australia|Austria|Azerbaijan|Bahamas|Bahrain|Bangladesh|Barbados|Belarus|Belize|Benin|Bermuda|Bhutan|Bolivia \(Plurinational State of\)|Bonaire, Sint Eustatius and Saba|Bosnia and Herzegovina|Botswana|Bouvet Island|Brazil|British Indian Ocean Territory|Brunei Darussalam|Bulgaria|Burkina Faso|Burundi|Cabo Verde|Cambodia|Cameroon|Canada|Cayman Islands|Central African Republic|Chad|Chile|Christmas Island|Cocos \(Keeling\) Islands|Colombia|Comoros|Congo|Congo \(Democratic Republic of the\)|Cook Islands|Costa Rica|Côte d'Ivoire|Croatia|Cuba|Curaçao|Cyprus|Czechia|Djibouti|Dominica|Dominican Republic|Ecuador|Egypt|El Salvador|Equatorial Guinea|Eritrea|Estonia|Ethiopia|Falkland Islands \(Malvinas\)|Faroe Islands|Fiji|Finland|French Guiana|French Polynesia|French Southern Territories|Gabon|Gambia|Germany|Ghana|Gibraltar|Greece|Greenland|Grenada|Guadeloupe|Guam|Guatemala|Guernsey|Guinea-Bissau|Guyana|Haiti|Heard Island and McDonald Islands|Holy See|Honduras|Hong Kong|Hungary|Iceland|India|Indonesia|Iran \(Islamic Republic of\)|Iraq|Ireland|Isle of Man|Israel|Italy|Jamaica|Japan|Jersey|Kazakhstan|Kenya|Kiribati|Korea \(Democratic People\'s Republic of\)|Korea \(Republic of\)|Kuwait|Kyrgyzstan|Lao People\'s Democratic Republic|Latvia|Lebanon|Lesotho|Liberia|Libya|Liechtenstein|Lithuania|Luxembourg|Macao|Macedonia (the former Yugoslav Republic of)|Madagascar|Malawi|Malaysia|Maldives|Malta|Marshall Islands|Martinique|Mauritania|Mauritius|Mayotte|Mexico|Micronesia \(Federated States of\)|Moldova \(Republic of\)|Monaco|Mongolia|Montenegro|Morocco|Mozambique|Myanmar|Namibia|Nauru|Nepal|Netherlands|New Caledonia|New Zealand|Nicaragua|Niger|Nigeria|Niue|Norfolk Island|Northern Mariana Islands|Norway|Oman|Pakistan|Palau|Palestine, State of|Panama|Papua New Guinea|Paraguay|Peru|Philippines|Pitcairn|Poland|Puerto Rico|Qatar|Réunion|Romania|Russian Federation|Rwanda|Saint Barthélemy|Saint Helena, Ascension and Tristan da Cunha|Saint Kitts and Nevis|Saint Lucia|Saint Martin \(French part\)|Saint Pierre and Miquelon|Saint Vincent and the Grenadines|Samoa|San Marino|Sao Tome and Principe|Saudi Arabia|Senegal|Serbia|Seychelles|Sierra Leone|Singapore|Sint Maarten \(Dutch part\)|Slovakia|Slovenia|Solomon Islands|Somalia|South Africa|South Georgia and the South Sandwich Islands|South Sudan|Sri Lanka|Sudan|Suriname|Svalbard and Jan Mayen|Swaziland|Sweden|Switzerland|Syrian Arab Republic|Taiwan|Tajikistan|Tanzania, United Republic of|Thailand|Timor-Leste|Togo|Tokelau|Tonga|Trinidad and Tobago|Tunisia|Turkey|Turkmenistan|Turks and Caicos Islands|Tuvalu|Uganda|Ukraine|United Arab Emirates|United Kingdom of Great Britain and Northern Ireland|United States of America|United States Minor Outlying Islands|Uruguay|Uzbekistan|Vanuatu|Venezuela \(Bolivarian Republic of\)|Viet Nam|Virgin Islands \(British\)|Virgin Islands \(U\.S\.\)|Wallis and Futuna|Western Sahara|Yemen|Zambia|Zimbabwe)\b|
|
56
56
|
(?i:autres?\s+de|probab|likely|possibl(e|y)|doubtful)|
|
57
57
|
\b\s*(?i:maybe)\s*\b|
|
58
58
|
\b\s*(?i:prob)\.\s*\b|
|
@@ -118,6 +118,7 @@ module DwcAgent
|
|
118
118
|
^[-,.\s;*\d]+\s?|
|
119
119
|
\s*?-{2,}\s*?|
|
120
120
|
^(?i:exc?p?)[:.]\s*|
|
121
|
+
(?i:ex\.?\s+herb\.?\s*)|
|
121
122
|
\:?\s*(?i:exch)(\b|\z)|
|
122
123
|
\s+de\s*$|
|
123
124
|
\.{2,}$
|
@@ -246,6 +247,7 @@ module DwcAgent
|
|
246
247
|
(?i:ontario|qu(e|é)bec|saskatchewan|new brunswick|sault|newfoundland|assurance|vancouver|u\.?s\.?s\.?r\.?)|
|
247
248
|
(?i:popa\s+observers?)|
|
248
249
|
(?i:recreation|culture)|
|
250
|
+
(?i:renseigné)|
|
249
251
|
(?i:shaped|dark|pale|areas|phase|spotting|interior|between|closer)|
|
250
252
|
(?i:soci(e|é)t(y|é)|cent(er|re)|community|history|conservation|conference|assoc|class|commission|consortium|council|club|exposit|alliance|protective|circle)|
|
251
253
|
(?i:commercial|company|control|product)|
|
@@ -327,7 +329,7 @@ module DwcAgent
|
|
327
329
|
"has not"
|
328
330
|
]
|
329
331
|
|
330
|
-
TITLE = /\s*\b(sir|count(ess)?|colonel|(gen|adm|col|maj|
|
332
|
+
TITLE = /\s*\b(sir|count(ess)?|colonel|(gen|adm|col|maj|capt|cmdr|lt|sgt|cpl|pvt|proff?|dr|md|ph\.?d|rev|mme|abbé|ptre|bro|esq)\.?|docteur|father|cantor|vicar|père|pastor|rabbi|reverend|pere|soeur|sister|professor)(\s+|$)/i
|
331
333
|
|
332
334
|
APPELLATION = /\s*\b((mrs?|ms|fr|hr)\.?|miss|herr|frau)(\s+|$)/i
|
333
335
|
|
data/lib/dwc_agent/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dwc_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David P. Shorthouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: namae
|