dwca_hunter 0.5.3 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
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