bolognese 1.0.11 → 1.0.12
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/Gemfile.lock +1 -1
- data/lib/bolognese/readers/datacite_reader.rb +4 -4
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/datacite-xml-lang.xml +51 -0
- data/spec/readers/datacite_reader_spec.rb +13 -3
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 347b7bb3e8466ba382357816de4d0a07ef64424ec37244b98f12372c0d475ee8
|
|
4
|
+
data.tar.gz: a5cef69c662b4fa675951c37d175bde3ff4556252e0176309f2769cfb4544359
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a49a0ddaf9749f22de36e8e3d941c664135c540d8815a4cbcefcbe64ebc4922b3ae138194c41df003dcdb194ea99c796dc726b339b27cbbae9d93fb880995a07
|
|
7
|
+
data.tar.gz: f1298514c8b8e175754502de187e067eb89da8692bce34cf8e76a17de9501275a9db465a47641538e6456317c4876a806996c5d4c17a271cc15b7e0a466b818d
|
data/Gemfile.lock
CHANGED
|
@@ -161,7 +161,7 @@ module Bolognese
|
|
|
161
161
|
"southBoundLatitude" => gl.dig("geoLocationBox", "southBoundLatitude"),
|
|
162
162
|
"northBoundLatitude" => gl.dig("geoLocationBox", "northBoundLatitude")
|
|
163
163
|
}.compact.presence,
|
|
164
|
-
"geoLocationPlace" => gl["geoLocationPlace"],
|
|
164
|
+
"geoLocationPlace" => parse_attributes(gl["geoLocationPlace"], first: true).to_s.strip.presence
|
|
165
165
|
}.compact
|
|
166
166
|
end
|
|
167
167
|
end.compact
|
|
@@ -177,16 +177,16 @@ module Bolognese
|
|
|
177
177
|
"creator" => get_authors(Array.wrap(meta.dig("creators", "creator"))),
|
|
178
178
|
"contributor" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
|
|
179
179
|
"periodical" => periodical,
|
|
180
|
-
"publisher" => meta.fetch("publisher", nil).to_s.strip.presence,
|
|
180
|
+
"publisher" => parse_attributes(meta.fetch("publisher", nil), first: true).to_s.strip.presence,
|
|
181
181
|
"source" => "DataCite",
|
|
182
182
|
"funding_references" => funding_references,
|
|
183
183
|
"dates" => dates,
|
|
184
|
-
"publication_year" => meta.fetch("publicationYear", nil).to_s.presence,
|
|
184
|
+
"publication_year" => parse_attributes(meta.fetch("publicationYear", nil), first: true).to_s.strip.presence,
|
|
185
185
|
"descriptions" => descriptions,
|
|
186
186
|
"rights_list" => rights_list,
|
|
187
187
|
"version" => meta.fetch("version", nil).to_s.presence,
|
|
188
188
|
"subjects" => subjects,
|
|
189
|
-
"language" => meta.fetch("language", nil).to_s.presence,
|
|
189
|
+
"language" => parse_attributes(meta.fetch("language", nil), first: true).to_s.strip.presence,
|
|
190
190
|
"geo_locations" => geo_locations,
|
|
191
191
|
"related_identifiers" => related_identifiers,
|
|
192
192
|
"formats" => formats,
|
data/lib/bolognese/version.rb
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
+
<resource
|
|
3
|
+
xmlns="http://datacite.org/schema/kernel-4"
|
|
4
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
|
|
5
|
+
<identifier identifierType="DOI">10.15770/EUM_SAF_OSI_9999</identifier>
|
|
6
|
+
<creators>
|
|
7
|
+
<creator>
|
|
8
|
+
<creatorName>SAF on Ocean and Sea Ice</creatorName>
|
|
9
|
+
</creator>
|
|
10
|
+
<creator>
|
|
11
|
+
<creatorName>OSI SAF</creatorName>
|
|
12
|
+
</creator>
|
|
13
|
+
</creators>
|
|
14
|
+
<titles>
|
|
15
|
+
<title xml:lang="en">DOI Test 2 title content</title>
|
|
16
|
+
<title xml:lang="en">AAPP</title>
|
|
17
|
+
</titles>
|
|
18
|
+
<publisher>OSI SAF</publisher>
|
|
19
|
+
<publicationYear>2004</publicationYear>
|
|
20
|
+
<resourceType resourceTypeGeneral="Collection">Climate Data Record</resourceType>
|
|
21
|
+
<dates>
|
|
22
|
+
<date dateType="Created">2004-01-19</date>
|
|
23
|
+
<date dateType="Valid">2004-01-19/2015-12-31</date>
|
|
24
|
+
</dates>
|
|
25
|
+
<language>en</language>
|
|
26
|
+
<relatedIdentifiers>
|
|
27
|
+
<relatedIdentifier relatedIdentifierType="URL" relationType="HasMetadata" relatedMetadataScheme="http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd" schemeURI="http://schemas.opengis.net/csw/2.0.2/csw.xsd" schemeType="xsd">https://eumetsat.eggits.net/elastic-csw/download/EO:EUM:CM:MSG:DOI_TEST_2</relatedIdentifier>
|
|
28
|
+
<relatedIdentifier relatedIdentifierType="URL" relationType="IsDocumentedBy" schemeType="text/html">https://eumetsat.eggits.net/nextgen-pn/product/EO:EUM:CM:MSG:DOI_TEST_2</relatedIdentifier>
|
|
29
|
+
</relatedIdentifiers>
|
|
30
|
+
<rightsList>
|
|
31
|
+
<rights>copyright</rights>
|
|
32
|
+
</rightsList>
|
|
33
|
+
<descriptions>
|
|
34
|
+
<description descriptionType="Methods" xml:lang="en">This is the DOI TEST 2 product where this is the description field content.</description>
|
|
35
|
+
</descriptions>
|
|
36
|
+
<geoLocations>
|
|
37
|
+
<geoLocation>
|
|
38
|
+
<geoLocationBox>
|
|
39
|
+
<westBoundLongitude>-70.0</westBoundLongitude>
|
|
40
|
+
<eastBoundLongitude>70.0</eastBoundLongitude>
|
|
41
|
+
<southBoundLatitude>-70.0</southBoundLatitude>
|
|
42
|
+
<northBoundLatitude>70.0</northBoundLatitude>
|
|
43
|
+
</geoLocationBox>
|
|
44
|
+
</geoLocation>
|
|
45
|
+
<geoLocation>
|
|
46
|
+
<geoLocationPlace
|
|
47
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Regional
|
|
48
|
+
</geoLocationPlace>
|
|
49
|
+
</geoLocation>
|
|
50
|
+
</geoLocations>
|
|
51
|
+
</resource>
|
|
@@ -180,9 +180,9 @@ describe Bolognese::Metadata, vcr: true do
|
|
|
180
180
|
input = fixture_path + 'datacite-multiple-language.xml'
|
|
181
181
|
subject = Bolognese::Metadata.new(input: input)
|
|
182
182
|
expect(subject.types["schemaOrg"]).to eq("Collection")
|
|
183
|
-
expect(subject.language).to eq("
|
|
184
|
-
expect(subject.publisher).to eq("
|
|
185
|
-
expect(subject.publication_year).to eq("
|
|
183
|
+
expect(subject.language).to eq("de")
|
|
184
|
+
expect(subject.publisher).to eq("Universitätsbibliothek Tübingen")
|
|
185
|
+
expect(subject.publication_year).to eq("2015")
|
|
186
186
|
expect(subject.valid?).to be false
|
|
187
187
|
expect(subject.errors).to eq("13:0: ERROR: Element '{http://datacite.org/schema/kernel-2.2}publisher': This element is not expected. Expected is ( {http://datacite.org/schema/kernel-2.2}publicationYear ).")
|
|
188
188
|
end
|
|
@@ -195,6 +195,16 @@ describe Bolognese::Metadata, vcr: true do
|
|
|
195
195
|
expect(subject.geo_locations).to eq([{"geoLocationPoint"=>{"pointLatitude"=>"-11.64583333", "pointLongitude"=>"-68.2975"}}])
|
|
196
196
|
end
|
|
197
197
|
|
|
198
|
+
it "xml:lang attribute" do
|
|
199
|
+
input = fixture_path + 'datacite-xml-lang.xml'
|
|
200
|
+
subject = Bolognese::Metadata.new(input: input)
|
|
201
|
+
expect(subject.valid?).to be true
|
|
202
|
+
expect(subject.types["schemaOrg"]).to eq("Collection")
|
|
203
|
+
expect(subject.titles).to eq([{"lang"=>"en", "title"=>"DOI Test 2 title content"}, {"lang"=>"en", "title"=>"AAPP"}])
|
|
204
|
+
expect(subject.descriptions).to eq([{"description"=>"This is the DOI TEST 2 product where this is the description field content.", "descriptionType"=>"Methods", "lang"=>"en"}])
|
|
205
|
+
expect(subject.geo_locations).to eq([{"geoLocationBox"=>{"eastBoundLongitude"=>"70.0", "northBoundLatitude"=>"70.0", "southBoundLatitude"=>"-70.0", "westBoundLongitude"=>"-70.0"}}, {"geoLocationPlace"=>"Regional"}])
|
|
206
|
+
end
|
|
207
|
+
|
|
198
208
|
it "schema 4.0" do
|
|
199
209
|
input = fixture_path + 'schema_4.0.xml'
|
|
200
210
|
subject = Bolognese::Metadata.new(input: input)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bolognese
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Fenner
|
|
@@ -674,6 +674,7 @@ files:
|
|
|
674
674
|
- spec/fixtures/datacite-geolocation-empty.xml
|
|
675
675
|
- spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml
|
|
676
676
|
- spec/fixtures/datacite-multiple-language.xml
|
|
677
|
+
- spec/fixtures/datacite-xml-lang.xml
|
|
677
678
|
- spec/fixtures/datacite.json
|
|
678
679
|
- spec/fixtures/datacite.xml
|
|
679
680
|
- spec/fixtures/datacite_dataset.xml
|