bolognese 1.9.9 → 1.9.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/pull-request.yml +21 -0
- data/CHANGELOG.md +43 -4
- data/Gemfile.lock +63 -63
- data/bolognese.gemspec +1 -1
- data/lib/bolognese/readers/datacite_reader.rb +17 -13
- data/lib/bolognese/utils.rb +3 -3
- data/lib/bolognese/version.rb +1 -1
- data/resources/oecd/dfg-mappings.json +1866 -0
- data/spec/readers/datacite_reader_spec.rb +41 -0
- data/spec/utils_spec.rb +12 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3122914f3eae3e799d6a1ab5d1159330306509ba20082a1144d339f43096184c
|
4
|
+
data.tar.gz: c8a2661a9e670e3346cfc11ca5405eb0733fafa491b55ed0dc30b19e354e7337
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2867c9246ac0d4756c4b636539ab35f69f9f8e73c7e3477644859b8e00c2edaba461c809d13081b6643272491f8c5a2bfd0af93da9aab9f21f3bcad5b17298f1
|
7
|
+
data.tar.gz: 2cf4cc866eb0a162dc19fbec2b46f512b6821d383a920458b15e35bb4ac81dbb46f301f76e1656a61e833bb01a71d48e7eb5ac153ca931e47067bf71e9164315
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: Pull Request - Run Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
- name: Set up Ruby 2.6
|
13
|
+
uses: actions/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: 2.6.x
|
16
|
+
|
17
|
+
- name: Install and test
|
18
|
+
run: |
|
19
|
+
gem install bundler
|
20
|
+
bundle install
|
21
|
+
bundle exec rspec
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,47 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [Unreleased](https://github.com/datacite/bolognese/tree/HEAD)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.12...HEAD)
|
6
|
+
|
7
|
+
**Fixed bugs:**
|
8
|
+
|
9
|
+
- Schema 4 RelatedItems does not allow relatedItem without relatedItemIdentifier [\#118](https://github.com/datacite/bolognese/issues/118)
|
10
|
+
|
11
|
+
**Closed issues:**
|
12
|
+
|
13
|
+
- How to use "bolognese help \[COMMAND\]"? [\#129](https://github.com/datacite/bolognese/issues/129)
|
14
|
+
- Move nokogiri dependency up to dependency \>= 1.12.5 [\#127](https://github.com/datacite/bolognese/issues/127)
|
15
|
+
|
16
|
+
**Merged pull requests:**
|
17
|
+
|
18
|
+
- update nokogiri to latest, including updating maremma [\#130](https://github.com/datacite/bolognese/pull/130) ([orangewolf](https://github.com/orangewolf))
|
19
|
+
- mapping for DFG-to-OECD [\#125](https://github.com/datacite/bolognese/pull/125) ([kjgarza](https://github.com/kjgarza))
|
20
|
+
|
21
|
+
## [1.9.12](https://github.com/datacite/bolognese/tree/1.9.12) (2021-08-19)
|
22
|
+
|
23
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.11...1.9.12)
|
24
|
+
|
25
|
+
## [1.9.11](https://github.com/datacite/bolognese/tree/1.9.11) (2021-08-17)
|
26
|
+
|
27
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.10...1.9.11)
|
28
|
+
|
29
|
+
**Closed issues:**
|
30
|
+
|
31
|
+
- Sandbox Orcid URLs are not allowed. [\#120](https://github.com/datacite/bolognese/issues/120)
|
32
|
+
|
33
|
+
**Merged pull requests:**
|
34
|
+
|
35
|
+
- Allow Orcid URLs to have been issued from the sandbox [\#121](https://github.com/datacite/bolognese/pull/121) ([prdanelli](https://github.com/prdanelli))
|
36
|
+
|
37
|
+
## [1.9.10](https://github.com/datacite/bolognese/tree/1.9.10) (2021-07-20)
|
38
|
+
|
39
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.9...1.9.10)
|
40
|
+
|
41
|
+
## [1.9.9](https://github.com/datacite/bolognese/tree/1.9.9) (2021-06-09)
|
42
|
+
|
43
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.8...1.9.9)
|
44
|
+
|
3
45
|
## [1.9.8](https://github.com/datacite/bolognese/tree/1.9.8) (2021-06-08)
|
4
46
|
|
5
47
|
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.7...1.9.8)
|
@@ -291,6 +333,7 @@
|
|
291
333
|
**Merged pull requests:**
|
292
334
|
|
293
335
|
- Sizes and formats [\#88](https://github.com/datacite/bolognese/pull/88) ([mfenner](https://github.com/mfenner))
|
336
|
+
- bump version [\#75](https://github.com/datacite/bolognese/pull/75) ([kjgarza](https://github.com/kjgarza))
|
294
337
|
|
295
338
|
## [1.5.19](https://github.com/datacite/bolognese/tree/1.5.19) (2020-04-30)
|
296
339
|
|
@@ -464,10 +507,6 @@
|
|
464
507
|
|
465
508
|
[Full Changelog](https://github.com/datacite/bolognese/compare/v.1.3.14...v.1.3.16)
|
466
509
|
|
467
|
-
**Merged pull requests:**
|
468
|
-
|
469
|
-
- bump version [\#75](https://github.com/datacite/bolognese/pull/75) ([kjgarza](https://github.com/kjgarza))
|
470
|
-
|
471
510
|
## [v.1.3.14](https://github.com/datacite/bolognese/tree/v.1.3.14) (2019-08-27)
|
472
511
|
|
473
512
|
[Full Changelog](https://github.com/datacite/bolognese/compare/v.1.3.13...v.1.3.14)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.9.
|
4
|
+
bolognese (1.9.13)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -19,7 +19,7 @@ PATH
|
|
19
19
|
loofah (~> 2.0, >= 2.0.3)
|
20
20
|
maremma (>= 4.9.4, < 5)
|
21
21
|
namae (~> 1.0)
|
22
|
-
nokogiri (~> 1.
|
22
|
+
nokogiri (~> 1.12.0)
|
23
23
|
oj (~> 3.10)
|
24
24
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
25
25
|
postrank-uri (~> 1.0, >= 1.0.18)
|
@@ -30,44 +30,45 @@ PATH
|
|
30
30
|
GEM
|
31
31
|
remote: https://rubygems.org/
|
32
32
|
specs:
|
33
|
-
activesupport (6.1.
|
33
|
+
activesupport (6.1.4.4)
|
34
34
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
35
35
|
i18n (>= 1.6, < 2)
|
36
36
|
minitest (>= 5.1)
|
37
37
|
tzinfo (~> 2.0)
|
38
38
|
zeitwerk (~> 2.3)
|
39
|
-
addressable (2.
|
39
|
+
addressable (2.8.0)
|
40
40
|
public_suffix (>= 2.0.2, < 5.0)
|
41
|
-
amazing_print (1.
|
41
|
+
amazing_print (1.4.0)
|
42
42
|
benchmark_methods (0.7)
|
43
43
|
bibtex-ruby (6.0.0)
|
44
44
|
latex-decode (~> 0.0)
|
45
45
|
builder (3.2.4)
|
46
46
|
citeproc (1.0.10)
|
47
47
|
namae (~> 1.0)
|
48
|
-
citeproc-ruby (1.1.
|
48
|
+
citeproc-ruby (1.1.14)
|
49
49
|
citeproc (~> 1.0, >= 1.0.9)
|
50
|
-
csl (~> 1.
|
50
|
+
csl (~> 1.6)
|
51
51
|
colorize (0.8.1)
|
52
52
|
concurrent-ruby (1.1.9)
|
53
53
|
crack (0.4.5)
|
54
54
|
rexml
|
55
55
|
crass (1.0.6)
|
56
|
-
csl (1.
|
56
|
+
csl (1.6.0)
|
57
57
|
namae (~> 1.0)
|
58
|
+
rexml
|
58
59
|
csl-styles (1.0.1.11)
|
59
60
|
csl (~> 1.0)
|
60
61
|
diff-lcs (1.4.4)
|
61
62
|
docile (1.4.0)
|
62
|
-
ebnf (2.
|
63
|
-
amazing_print (~> 1.
|
63
|
+
ebnf (2.3.0)
|
64
|
+
amazing_print (~> 1.4)
|
64
65
|
htmlentities (~> 4.3)
|
65
|
-
rdf (~> 3.
|
66
|
+
rdf (~> 3.2)
|
66
67
|
scanf (~> 1.0)
|
67
|
-
sxp (~> 1.
|
68
|
-
unicode-types (~> 1.
|
69
|
-
edtf (3.0.
|
70
|
-
activesupport (>= 3.0, <
|
68
|
+
sxp (~> 1.2)
|
69
|
+
unicode-types (~> 1.7)
|
70
|
+
edtf (3.0.7)
|
71
|
+
activesupport (>= 3.0, < 8.0)
|
71
72
|
excon (0.71.1)
|
72
73
|
faraday (0.17.4)
|
73
74
|
multipart-post (>= 1.2, < 3)
|
@@ -77,37 +78,35 @@ GEM
|
|
77
78
|
faraday (>= 0.7.4, < 1.0)
|
78
79
|
gender_detector (0.1.2)
|
79
80
|
unicode_utils (>= 1.3.0)
|
80
|
-
haml (5.2.
|
81
|
+
haml (5.2.2)
|
81
82
|
temple (>= 0.8.0)
|
82
83
|
tilt
|
83
|
-
hamster (3.0.0)
|
84
|
-
concurrent-ruby (~> 1.0)
|
85
84
|
hashdiff (1.0.1)
|
86
85
|
htmlentities (4.3.4)
|
87
|
-
i18n (1.8.
|
86
|
+
i18n (1.8.11)
|
88
87
|
concurrent-ruby (~> 1.0)
|
89
88
|
iso8601 (0.9.1)
|
90
89
|
json (2.5.1)
|
91
|
-
json-canonicalization (0.
|
92
|
-
json-ld (3.
|
90
|
+
json-canonicalization (0.3.0)
|
91
|
+
json-ld (3.2.0)
|
93
92
|
htmlentities (~> 4.3)
|
94
|
-
json-canonicalization (~> 0.
|
93
|
+
json-canonicalization (~> 0.3)
|
95
94
|
link_header (~> 0.0, >= 0.0.8)
|
96
|
-
multi_json (~> 1.
|
97
|
-
rack (~> 2.
|
98
|
-
rdf (~> 3.
|
99
|
-
json-ld-preloaded (3.
|
100
|
-
json-ld (~> 3.
|
101
|
-
rdf (~> 3.
|
95
|
+
multi_json (~> 1.15)
|
96
|
+
rack (~> 2.2)
|
97
|
+
rdf (~> 3.2)
|
98
|
+
json-ld-preloaded (3.2.0)
|
99
|
+
json-ld (~> 3.2)
|
100
|
+
rdf (~> 3.2)
|
102
101
|
jsonlint (0.3.0)
|
103
102
|
oj (~> 3)
|
104
103
|
optimist (~> 3)
|
105
104
|
latex-decode (0.3.2)
|
106
105
|
link_header (0.0.8)
|
107
|
-
loofah (2.
|
106
|
+
loofah (2.13.0)
|
108
107
|
crass (~> 1.0.2)
|
109
108
|
nokogiri (>= 1.5.9)
|
110
|
-
maremma (4.9.
|
109
|
+
maremma (4.9.7)
|
111
110
|
activesupport (>= 4.2.5)
|
112
111
|
addressable (>= 2.3.6)
|
113
112
|
builder (~> 3.2, >= 3.2.2)
|
@@ -115,18 +114,19 @@ GEM
|
|
115
114
|
faraday (~> 0.17.3)
|
116
115
|
faraday-encoding (~> 0.0.4)
|
117
116
|
faraday_middleware (~> 0.14.0)
|
118
|
-
nokogiri (
|
117
|
+
nokogiri (>= 1.11.2, < 1.13.0)
|
119
118
|
oj (>= 2.8.3)
|
120
119
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
121
|
-
|
122
|
-
|
120
|
+
matrix (0.4.2)
|
121
|
+
mini_portile2 (2.6.1)
|
122
|
+
minitest (5.15.0)
|
123
123
|
multi_json (1.15.0)
|
124
124
|
multipart-post (2.1.1)
|
125
125
|
namae (1.1.1)
|
126
|
-
nokogiri (1.
|
127
|
-
mini_portile2 (~> 2.
|
126
|
+
nokogiri (1.12.5)
|
127
|
+
mini_portile2 (~> 2.6.1)
|
128
128
|
racc (~> 1.4)
|
129
|
-
oj (3.11
|
129
|
+
oj (3.13.11)
|
130
130
|
oj_mimic_json (1.0.1)
|
131
131
|
optimist (3.0.1)
|
132
132
|
postrank-uri (1.0.24)
|
@@ -134,35 +134,34 @@ GEM
|
|
134
134
|
nokogiri (>= 1.8.0)
|
135
135
|
public_suffix (>= 2.0.0, < 2.1)
|
136
136
|
public_suffix (2.0.5)
|
137
|
-
racc (1.
|
137
|
+
racc (1.6.0)
|
138
138
|
rack (2.2.3)
|
139
139
|
rack-test (0.8.3)
|
140
140
|
rack (>= 1.0, < 3)
|
141
141
|
rake (12.3.3)
|
142
|
-
rdf (3.
|
143
|
-
hamster (~> 3.0)
|
142
|
+
rdf (3.2.2)
|
144
143
|
link_header (~> 0.0, >= 0.0.8)
|
145
|
-
rdf-aggregate-repo (3.
|
146
|
-
rdf (~> 3.
|
147
|
-
rdf-rdfa (3.
|
144
|
+
rdf-aggregate-repo (3.2.0)
|
145
|
+
rdf (~> 3.2)
|
146
|
+
rdf-rdfa (3.2.0)
|
148
147
|
haml (~> 5.2)
|
149
148
|
htmlentities (~> 4.3)
|
150
|
-
rdf (~> 3.
|
151
|
-
rdf-aggregate-repo (~> 3.
|
152
|
-
rdf-vocab (~> 3.
|
153
|
-
rdf-xsd (~> 3.
|
154
|
-
rdf-rdfxml (3.
|
149
|
+
rdf (~> 3.2)
|
150
|
+
rdf-aggregate-repo (~> 3.2)
|
151
|
+
rdf-vocab (~> 3.2)
|
152
|
+
rdf-xsd (~> 3.2)
|
153
|
+
rdf-rdfxml (3.2.0)
|
155
154
|
htmlentities (~> 4.3)
|
156
|
-
rdf (~> 3.
|
157
|
-
rdf-rdfa (~> 3.
|
158
|
-
rdf-xsd (~> 3.
|
159
|
-
rdf-turtle (3.
|
160
|
-
ebnf (~> 2.
|
161
|
-
rdf (~> 3.
|
162
|
-
rdf-vocab (3.
|
163
|
-
rdf (~> 3.
|
164
|
-
rdf-xsd (3.
|
165
|
-
rdf (~> 3.
|
155
|
+
rdf (~> 3.2)
|
156
|
+
rdf-rdfa (~> 3.2)
|
157
|
+
rdf-xsd (~> 3.2)
|
158
|
+
rdf-turtle (3.2.0)
|
159
|
+
ebnf (~> 2.3)
|
160
|
+
rdf (~> 3.2)
|
161
|
+
rdf-vocab (3.2.0)
|
162
|
+
rdf (~> 3.2)
|
163
|
+
rdf-xsd (3.2.0)
|
164
|
+
rdf (~> 3.2)
|
166
165
|
rexml (~> 3.2)
|
167
166
|
rexml (3.2.5)
|
168
167
|
rspec (3.10.0)
|
@@ -187,21 +186,22 @@ GEM
|
|
187
186
|
json (>= 1.8, < 3)
|
188
187
|
simplecov-html (~> 0.10.0)
|
189
188
|
simplecov-html (0.10.2)
|
190
|
-
sxp (1.
|
191
|
-
|
189
|
+
sxp (1.2.0)
|
190
|
+
matrix
|
191
|
+
rdf (~> 3.2)
|
192
192
|
temple (0.8.2)
|
193
|
-
thor (1.1
|
193
|
+
thor (1.2.1)
|
194
194
|
tilt (2.0.10)
|
195
195
|
tzinfo (2.0.4)
|
196
196
|
concurrent-ruby (~> 1.0)
|
197
|
-
unicode-types (1.
|
197
|
+
unicode-types (1.7.0)
|
198
198
|
unicode_utils (1.4.0)
|
199
199
|
vcr (3.0.3)
|
200
200
|
webmock (3.13.0)
|
201
201
|
addressable (>= 2.3.6)
|
202
202
|
crack (>= 0.3.2)
|
203
203
|
hashdiff (>= 0.4.0, < 2.0.0)
|
204
|
-
zeitwerk (2.
|
204
|
+
zeitwerk (2.5.3)
|
205
205
|
|
206
206
|
PLATFORMS
|
207
207
|
ruby
|
@@ -219,4 +219,4 @@ DEPENDENCIES
|
|
219
219
|
webmock (~> 3.0, >= 3.0.1)
|
220
220
|
|
221
221
|
BUNDLED WITH
|
222
|
-
2.
|
222
|
+
2.3.4
|
data/bolognese.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
# Declare dependencies here, rather than in the Gemfile
|
19
19
|
s.add_dependency 'maremma', '>= 4.9.4', '< 5'
|
20
20
|
s.add_dependency 'faraday', '~> 0.17.3'
|
21
|
-
s.add_dependency 'nokogiri', '~> 1.
|
21
|
+
s.add_dependency 'nokogiri', '~> 1.12.0'
|
22
22
|
s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
|
23
23
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
24
24
|
s.add_dependency 'activesupport', '>= 4.2.5'
|
@@ -188,20 +188,24 @@ module Bolognese
|
|
188
188
|
end
|
189
189
|
|
190
190
|
related_items = Array.wrap(meta.dig("relatedItems", "relatedItem")).map do |ri|
|
191
|
+
|
191
192
|
rii = ri["relatedItemIdentifier"]
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
193
|
+
relatedItemIdentifier = nil
|
194
|
+
if rii
|
195
|
+
if rii["relatedItemIdentifierType"] == "DOI"
|
196
|
+
rid = validate_doi(rii["__content__"].to_s.downcase)
|
197
|
+
else
|
198
|
+
rid = rii["__content__"]
|
199
|
+
end
|
197
200
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
201
|
+
relatedItemIdentifier = {
|
202
|
+
"relatedItemIdentifier" => rid,
|
203
|
+
"relatedItemIdentifierType" => rii["relatedItemIdentifierType"],
|
204
|
+
"relatedMetadataScheme" => rii["relatedMetadataScheme"],
|
205
|
+
"schemeURI" => rii["schemeURI"],
|
206
|
+
"schemeType" => rii["schemeType"]
|
207
|
+
}.compact
|
208
|
+
end
|
205
209
|
|
206
210
|
number = ri["number"]
|
207
211
|
if number.is_a?(String)
|
@@ -212,7 +216,7 @@ module Bolognese
|
|
212
216
|
numberType = ri.dig("number", "numberType")
|
213
217
|
end
|
214
218
|
|
215
|
-
{
|
219
|
+
a = {
|
216
220
|
"relationType" => ri["relationType"],
|
217
221
|
"relatedItemType" => ri["relatedItemType"],
|
218
222
|
"relatedItemIdentifier" => relatedItemIdentifier,
|
data/lib/bolognese/utils.rb
CHANGED
@@ -386,8 +386,8 @@ module Bolognese
|
|
386
386
|
"BookChapter" => "CHAP",
|
387
387
|
"Collection" => nil,
|
388
388
|
"ComputationalNotebook" => "COMP",
|
389
|
-
"ConferencePaper" =>
|
390
|
-
"ConferenceProceeding" =>
|
389
|
+
"ConferencePaper" => "CPAPER",
|
390
|
+
"ConferenceProceeding" => "CONF",
|
391
391
|
"DataPaper" => nil,
|
392
392
|
"Dataset" => "DATA",
|
393
393
|
"Dissertation" => "THES",
|
@@ -574,7 +574,7 @@ module Bolognese
|
|
574
574
|
end
|
575
575
|
|
576
576
|
def validate_orcid(orcid)
|
577
|
-
orcid = Array(/\A(?:(http|https):\/\/(www
|
577
|
+
orcid = Array(/\A(?:(?:http|https):\/\/(?:(?:www|sandbox)?\.)?orcid\.org\/)?(\d{4}[[:space:]-]\d{4}[[:space:]-]\d{4}[[:space:]-]\d{3}[0-9X]+)\z/.match(orcid)).last
|
578
578
|
orcid.gsub(/[[:space:]]/, "-") if orcid.present?
|
579
579
|
end
|
580
580
|
|
data/lib/bolognese/version.rb
CHANGED