dwca_hunter 0.5.3 → 0.7.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3fbae125e5aa2c8891a3fa045eb3c628c7c53b7b3957a5b0f8153e6d6b3cbbb
4
- data.tar.gz: 71f2c5579faf193f9a2b81378b2a437c5e0b3a4f4152fa8496bc0233ed27f225
3
+ metadata.gz: 26106d03a805f473871c3092a84b8d0498f991ff809a7e3f259f1e20d29bca80
4
+ data.tar.gz: 28ac068cf264870f67ffdc6697801c683ffec0e101c582ddbd50aa77b7831b8f
5
5
  SHA512:
6
- metadata.gz: 371304bc1e3a0c5b2862b4213e494f713b27895237d5226430001a98b17c122b5924ad815c9b8c3e164d19ae22997e2c955e8812600c230c011bed484d1b4bd2
7
- data.tar.gz: 0f97ed3b3230161bf03ad0976785eaded15e500fd2fa8443c85144a90d6439faaa1c33eaa5aa0aad4355aef8882ade0c661d1ee3f25144f82436926f9e3581a7
6
+ metadata.gz: 3a1e49e6db3aa0bb79616a512feb8c05438f3534d6c7bdd43a0ae32981e32f83ccd74bdcd682130bdf044dd893e0017eeddf533b170109338bb8d95f0379e2b7
7
+ data.tar.gz: 35bb769a822639d26380ad70db0b7aeed22483ce7184e62b7fad38c8d5c3b7ab5ea3b82e3dce00bb012bcc18e719077c2c3bb4a2b53830f7babd693c26aa2caf
data/.byebug_history CHANGED
@@ -1,3 +1,40 @@
1
+ q
2
+ row
3
+ data
4
+ cc
5
+ c
6
+ data
7
+ c
8
+ data
9
+ c
10
+ data
11
+ c
12
+ data
13
+ c
14
+ data
15
+ q
16
+ p n
17
+ n
18
+ q
19
+ @name_id_json[n]
20
+ n = row[:acc_name].to_sym
21
+ row[:acc_name].to_sym
22
+ row[:acc_name]
23
+ acc_id
24
+ vi acc_id
25
+ q
26
+ @name_id
27
+ acc_id
28
+ id
29
+ q
30
+ DwcaHunter.resources
31
+ q
32
+ DwcaHunter.resources
33
+ q
34
+ res.size
35
+ res.len
36
+ res
37
+ trd
1
38
  exit
2
39
  pp row
3
40
  require "pp"
data/.gitignore CHANGED
@@ -56,3 +56,8 @@ tags
56
56
 
57
57
  # vscode
58
58
  .vs
59
+
60
+ # misc
61
+ *.json
62
+ *.csv
63
+ *.txt
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ NewCops: disable
3
+ TargetRubyVersion: 3.0.0
3
4
  Exclude:
4
5
  - bin/**/*
5
6
  - db/**/*
@@ -27,7 +28,15 @@ Metrics/ClassLength:
27
28
  Metrics/MethodLength:
28
29
  Enabled: false
29
30
 
31
+ Metrics/AbcSize:
32
+ Enabled: false
33
+
34
+ Metrics/PerceivedComplexity:
35
+ Enabled: false
36
+
37
+
38
+
30
39
  Naming/FileName:
31
40
  Exclude:
32
41
  - Gemfile
33
- - Rakefile
42
+ - Rakefile
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.3
1
+ 3.0.0
data/Gemfile.lock CHANGED
@@ -1,140 +1,146 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dwca_hunter (0.5.2)
5
- biodiversity (~> 3.5)
6
- dwc-archive (~> 1.0)
4
+ dwca_hunter (0.7.2)
5
+ biodiversity (~> 5.1.2)
6
+ dwc-archive (~> 1.1.3)
7
7
  gn_uuid (~> 0.5)
8
8
  htmlentities (~> 4.3)
9
- nokogiri (~> 1.8)
10
- rest-client (~> 2.0)
9
+ nokogiri (~> 1.11)
10
+ rest-client (~> 2.1)
11
11
  ruby-xz (~> 1.0)
12
- thor (~> 0.19)
12
+ rubyzip (~> 2.3)
13
+ thor (~> 1.1)
13
14
 
14
15
  GEM
15
16
  remote: http://rubygems.org/
16
17
  specs:
17
- ast (2.4.0)
18
- backport (0.3.0)
19
- biodiversity (3.5.1)
20
- gn_uuid (~> 0.5)
21
- parallel (~> 1.12)
22
- treetop (~> 1.6)
23
- unicode_utils (~> 1.4)
24
- byebug (10.0.2)
25
- coveralls (0.8.22)
18
+ ast (2.4.2)
19
+ backport (1.1.2)
20
+ benchmark (0.1.1)
21
+ biodiversity (5.1.2)
22
+ ffi (~> 1.14)
23
+ byebug (11.1.3)
24
+ coveralls (0.8.23)
26
25
  json (>= 1.8, < 3)
27
26
  simplecov (~> 0.16.1)
28
27
  term-ansicolor (~> 1.3)
29
- thor (~> 0.19.4)
28
+ thor (>= 0.19.4, < 2.0)
30
29
  tins (~> 1.6)
31
- diff-lcs (1.3)
32
- docile (1.3.1)
30
+ diff-lcs (1.4.4)
31
+ docile (1.3.5)
33
32
  domain_name (0.5.20190701)
34
33
  unf (>= 0.0.5, < 1.0.0)
35
- dwc-archive (1.0.1)
36
- nokogiri (~> 1.8)
37
- parsley-store (~> 0.3)
34
+ dwc-archive (1.1.3)
35
+ biodiversity (~> 5.1.2)
36
+ nokogiri (~> 1.11)
37
+ e2mmap (0.1.0)
38
+ ffi (1.14.2)
38
39
  gn_uuid (0.5.1)
39
40
  htmlentities (4.3.4)
40
41
  http-accept (1.7.0)
41
42
  http-cookie (1.0.3)
42
43
  domain_name (~> 0.5)
43
- jaro_winkler (1.5.2)
44
- json (2.2.0)
45
- kramdown (1.17.0)
46
- mime-types (3.3)
44
+ jaro_winkler (1.5.4)
45
+ json (2.5.1)
46
+ kramdown (2.3.0)
47
+ rexml
48
+ kramdown-parser-gfm (1.1.0)
49
+ kramdown (~> 2.0)
50
+ mime-types (3.3.1)
47
51
  mime-types-data (~> 3.2015)
48
- mime-types-data (3.2019.1009)
49
- mini_portile2 (2.4.0)
52
+ mime-types-data (3.2020.1104)
53
+ mini_portile2 (2.5.0)
50
54
  netrc (0.11.0)
51
- nokogiri (1.10.5)
52
- mini_portile2 (~> 2.4.0)
53
- parallel (1.14.0)
54
- parser (2.6.0.0)
55
- ast (~> 2.4.0)
56
- parsley-store (0.3.6)
57
- biodiversity (~> 3.1)
58
- redis (~> 3.0)
59
- polyglot (0.3.5)
60
- powerpack (0.1.2)
61
- psych (3.1.0)
55
+ nokogiri (1.11.1)
56
+ mini_portile2 (~> 2.5.0)
57
+ racc (~> 1.4)
58
+ parallel (1.20.1)
59
+ parser (3.0.0.0)
60
+ ast (~> 2.4.1)
61
+ racc (1.5.2)
62
62
  rainbow (3.0.0)
63
- rake (12.3.2)
64
- redis (3.3.5)
63
+ rake (13.0.3)
64
+ regexp_parser (2.0.3)
65
65
  rest-client (2.1.0)
66
66
  http-accept (>= 1.7.0, < 2.0)
67
67
  http-cookie (>= 1.0.2, < 2.0)
68
68
  mime-types (>= 1.16, < 4.0)
69
69
  netrc (~> 0.8)
70
- reverse_markdown (1.1.0)
70
+ reverse_markdown (2.0.0)
71
71
  nokogiri
72
- rspec (3.8.0)
73
- rspec-core (~> 3.8.0)
74
- rspec-expectations (~> 3.8.0)
75
- rspec-mocks (~> 3.8.0)
76
- rspec-core (3.8.0)
77
- rspec-support (~> 3.8.0)
78
- rspec-expectations (3.8.2)
72
+ rexml (3.2.4)
73
+ rspec (3.10.0)
74
+ rspec-core (~> 3.10.0)
75
+ rspec-expectations (~> 3.10.0)
76
+ rspec-mocks (~> 3.10.0)
77
+ rspec-core (3.10.1)
78
+ rspec-support (~> 3.10.0)
79
+ rspec-expectations (3.10.1)
79
80
  diff-lcs (>= 1.2.0, < 2.0)
80
- rspec-support (~> 3.8.0)
81
- rspec-mocks (3.8.0)
81
+ rspec-support (~> 3.10.0)
82
+ rspec-mocks (3.10.1)
82
83
  diff-lcs (>= 1.2.0, < 2.0)
83
- rspec-support (~> 3.8.0)
84
- rspec-support (3.8.0)
85
- rubocop (0.65.0)
86
- jaro_winkler (~> 1.5.1)
84
+ rspec-support (~> 3.10.0)
85
+ rspec-support (3.10.1)
86
+ rubocop (1.9.0)
87
87
  parallel (~> 1.10)
88
- parser (>= 2.5, != 2.5.1.1)
89
- powerpack (~> 0.1)
90
- psych (>= 3.1.0)
88
+ parser (>= 3.0.0.0)
91
89
  rainbow (>= 2.2.2, < 4.0)
90
+ regexp_parser (>= 1.8, < 3.0)
91
+ rexml
92
+ rubocop-ast (>= 1.2.0, < 2.0)
92
93
  ruby-progressbar (~> 1.7)
93
- unicode-display_width (~> 1.4.0)
94
- ruby-progressbar (1.10.0)
94
+ unicode-display_width (>= 1.4.0, < 3.0)
95
+ rubocop-ast (1.4.1)
96
+ parser (>= 2.7.1.5)
97
+ ruby-progressbar (1.11.0)
95
98
  ruby-xz (1.0.0)
99
+ rubyzip (2.3.0)
96
100
  simplecov (0.16.1)
97
101
  docile (~> 1.1)
98
102
  json (>= 1.8, < 3)
99
103
  simplecov-html (~> 0.10.0)
100
104
  simplecov-html (0.10.2)
101
- solargraph (0.31.3)
102
- backport (~> 0.3)
103
- htmlentities (~> 4.3, >= 4.3.4)
105
+ solargraph (0.40.2)
106
+ backport (~> 1.1)
107
+ benchmark
108
+ bundler (>= 1.17.2)
109
+ e2mmap
104
110
  jaro_winkler (~> 1.5)
105
- kramdown (~> 1.16)
106
- parser (~> 2.3)
107
- reverse_markdown (~> 1.0, >= 1.0.5)
108
- rubocop (~> 0.52)
109
- thor (~> 0.19, >= 0.19.4)
111
+ kramdown (~> 2.3)
112
+ kramdown-parser-gfm (~> 1.1)
113
+ parser (~> 3.0)
114
+ reverse_markdown (>= 1.0.5, < 3)
115
+ rubocop (>= 0.52)
116
+ thor (~> 1.0)
110
117
  tilt (~> 2.0)
111
- yard (~> 0.9)
118
+ yard (~> 0.9, >= 0.9.24)
119
+ sync (0.5.0)
112
120
  term-ansicolor (1.7.1)
113
121
  tins (~> 1.0)
114
- thor (0.19.4)
115
- tilt (2.0.9)
116
- tins (1.20.2)
117
- treetop (1.6.10)
118
- polyglot (~> 0.3)
122
+ thor (1.1.0)
123
+ tilt (2.0.10)
124
+ tins (1.28.0)
125
+ sync
119
126
  unf (0.1.4)
120
127
  unf_ext
121
- unf_ext (0.0.7.6)
122
- unicode-display_width (1.4.1)
123
- unicode_utils (1.4.0)
124
- yard (0.9.20)
128
+ unf_ext (0.0.7.7)
129
+ unicode-display_width (2.0.0)
130
+ yard (0.9.26)
125
131
 
126
132
  PLATFORMS
127
133
  ruby
128
134
 
129
135
  DEPENDENCIES
130
- bundler (~> 2.0)
131
- byebug (~> 10.0)
136
+ bundler (~> 2.2)
137
+ byebug (~> 11.1)
132
138
  coveralls (~> 0.8)
133
139
  dwca_hunter!
134
- rake (~> 12.3)
135
- rspec (~> 3.7)
136
- rubocop (~> 0.58)
137
- solargraph (~> 0.23)
140
+ rake (~> 13.0)
141
+ rspec (~> 3.10)
142
+ rubocop (~> 1.9)
143
+ solargraph (~> 0.40)
138
144
 
139
145
  BUNDLED WITH
140
- 2.0.1
146
+ 2.2.7
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011 Marine Biological Laboratory
1
+ Copyright (c) 2011-2020 Dmitry Mozzherin
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -32,7 +32,7 @@ See dwca_hunter/bin/dwca-hunt.rb as a example how to use the code.
32
32
 
33
33
  ## Copyright
34
34
 
35
- Copyright (c) 2011-2016 Dmitry Mozzherin. See LICENSE.txt for further details.
35
+ Copyright (c) 2011-2020 Dmitry Mozzherin. See LICENSE.txt for further details.
36
36
 
37
37
  [code-climate-img]: https://codeclimate.com/badge.png
38
38
  [code-climate]: https://codeclimate.com/github/GlobalNamesArchitecture/dwca_hunter
data/dwca_hunter.gemspec CHANGED
@@ -6,7 +6,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
6
  require "dwca_hunter/version"
7
7
 
8
8
  Gem::Specification.new do |gem|
9
- gem.required_ruby_version = ">= 2.4"
9
+ gem.required_ruby_version = ">= 3.0.0"
10
10
  gem.name = "dwca_hunter"
11
11
  gem.version = DwcaHunter.version
12
12
  gem.license = "MIT"
@@ -26,20 +26,21 @@ Gem::Specification.new do |gem|
26
26
  gem.executables = gem.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  gem.require_paths = ["lib"]
28
28
 
29
- gem.add_dependency "biodiversity", "~> 3.5"
30
- gem.add_dependency "dwc-archive", "~> 1.0"
29
+ gem.add_dependency "biodiversity", "~> 5.1.2"
30
+ gem.add_dependency "dwc-archive", "~> 1.1.3"
31
31
  gem.add_dependency "gn_uuid", "~> 0.5"
32
32
  gem.add_dependency "htmlentities", "~> 4.3"
33
- gem.add_dependency "nokogiri", "~> 1.8"
34
- gem.add_dependency "rest-client", "~> 2.0"
33
+ gem.add_dependency "nokogiri", "~> 1.11"
34
+ gem.add_dependency "rest-client", "~> 2.1"
35
35
  gem.add_dependency "ruby-xz", "~> 1.0"
36
- gem.add_dependency "thor", "~> 0.19"
36
+ gem.add_dependency "rubyzip", "~> 2.3"
37
+ gem.add_dependency "thor", "~> 1.1"
37
38
 
38
- gem.add_development_dependency "bundler", "~> 2.0"
39
- gem.add_development_dependency "byebug", "~> 10.0"
39
+ gem.add_development_dependency "bundler", "~> 2.2"
40
+ gem.add_development_dependency "byebug", "~> 11.1"
40
41
  gem.add_development_dependency "coveralls", "~> 0.8"
41
- gem.add_development_dependency "rake", "~> 12.3"
42
- gem.add_development_dependency "rspec", "~> 3.7"
43
- gem.add_development_dependency "rubocop", "~> 0.58"
44
- gem.add_development_dependency "solargraph", "~> 0.23"
42
+ gem.add_development_dependency "rake", "~> 13.0"
43
+ gem.add_development_dependency "rspec", "~> 3.10"
44
+ gem.add_development_dependency "rubocop", "~> 1.9"
45
+ gem.add_development_dependency "solargraph", "~> 0.40"
45
46
  end
data/exe/dwcahunter CHANGED
@@ -37,9 +37,7 @@ class DwcaHunterCLI < Thor
37
37
  res = []
38
38
  DwcaHunter.resources.each do |resource|
39
39
  r = resource.new
40
- if add_resource?(search, r)
41
- res << { n: nil, command: r.command, resource: r.title }
42
- end
40
+ res << { n: nil, command: r.command, resource: r.title } if add_resource?(search, r)
43
41
  end
44
42
  res.sort_by { |r| r[:command] }.each_with_object([]) do |r, a|
45
43
  r[:n] = a.size + 1
@@ -53,7 +51,6 @@ class DwcaHunterCLI < Thor
53
51
  resource.abbr =~ /#{search}/i)
54
52
  end
55
53
 
56
- # rubocop:disable Metrics/AbcSize
57
54
  def print_table(data)
58
55
  table = [data.first.keys.map { |k| k.to_s.capitalize }] + data.map(&:values)
59
56
  widths = table_widths(table)
@@ -61,7 +58,6 @@ class DwcaHunterCLI < Thor
61
58
  format = widths.collect { |n| "%-#{n}s" }.join(" ")
62
59
  table.each { |line| printf " #{format} \n", *line }
63
60
  end
64
- # rubocop:enable Metrics/AbcSize
65
61
 
66
62
  def table_widths(table)
67
63
  table.each_with_object([]) do |line, widths|
data/lib/dwca_hunter.rb CHANGED
@@ -7,11 +7,13 @@ require "dwca_hunter/resource"
7
7
  require "fileutils"
8
8
  require "htmlentities"
9
9
  require "json"
10
+ require "zip"
10
11
  require "logger"
11
12
  require "net/http"
12
13
  require "rest_client"
13
14
  require "tmpdir"
14
15
  require "uri"
16
+ require "cgi"
15
17
 
16
18
  Dir[File.join(__dir__, "dwca_hunter", "*.rb")].
17
19
  each { |f| require f }
@@ -51,5 +53,36 @@ module DwcaHunter
51
53
  c < Resource
52
54
  end
53
55
  end
56
+
57
+ def normalize_authors(auth)
58
+ reg = Regexp.new(/^(\(?)(.*?)(([\s,)][^[:upper:]]*)?$)/)
59
+ auth = auth.gsub(/duPont/, "du Pont")
60
+ match = reg.match(auth)
61
+ return auth if match.nil?
62
+
63
+ a1, a2, a3 = match[1..3]
64
+ a2mod = a2.gsub("&", ",")
65
+ ary2 = a2mod.split(",").map(&:strip)
66
+ a2 = move_initials(ary2) if ary2.size > 1
67
+ "#{a1}#{a2}#{a3}"
68
+ end
69
+
70
+ def move_initials(ary)
71
+ res = []
72
+ ary.each do |a|
73
+ if res.empty?
74
+ res << a
75
+ next
76
+ end
77
+ match = /^([[:upper:]]{1,4})(\sJr)?$/.match(a)
78
+ if !match.nil?
79
+ initialls = match[1].split("").join(". ")
80
+ res[-1] = "#{initialls}. #{res[-1]}#{match[2]}"
81
+ else
82
+ res << a
83
+ end
84
+ end
85
+ res.size == 1 ? res[0] : "#{res[0..-2].join(', ')} & #{res[-1]}"
86
+ end
54
87
  end
55
88
  end