bolognese 0.10.7 → 0.10.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/readers/bibtex_reader.rb +17 -14
- data/lib/bolognese/readers/crossref_reader.rb +1 -29
- data/lib/bolognese/readers/datacite_reader.rb +4 -3
- data/lib/bolognese/readers/ris_reader.rb +5 -2
- data/lib/bolognese/utils.rb +32 -0
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/pure.bib +14 -0
- data/spec/fixtures/pure.ris +15 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +103 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +37 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +37 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +37 -0
- data/spec/readers/bibtex_reader_spec.rb +16 -0
- data/spec/readers/datacite_reader_spec.rb +20 -2
- data/spec/readers/ris_reader_spec.rb +16 -0
- data/spec/utils_spec.rb +17 -0
- data/spec/writers/citeproc_writer_spec.rb +3 -3
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b85cf1dfd09bab9b2d00697ed1f2d431e8ccf3e2f7a354226e6b6a300be29608
|
4
|
+
data.tar.gz: 9a6de7f8303c082cbd324d708d8f9447ae8a106544f962295a492f26e3495b22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40545d59245f933e7a14279ab0df045dd24fd9dc06f30b485d0e03bb2184acf51a481d64cf7e04ce5a56d08cd96304a21f444c4371783061730e94150c6a5fc6
|
7
|
+
data.tar.gz: bd6a93cea2fddc9a611e1ae894790941ff3eeef99d0930c814c007c239dacfab9c42d79966d4b6e964791dc7179a2c0d5a1f8a09d94ee79d6f6c3351f2fac9a1
|
data/Gemfile.lock
CHANGED
@@ -2,7 +2,8 @@ module Bolognese
|
|
2
2
|
module Readers
|
3
3
|
module BibtexReader
|
4
4
|
BIB_TO_CP_TRANSLATIONS = {
|
5
|
-
"article" => "article-journal"
|
5
|
+
"article" => "article-journal",
|
6
|
+
"phdthesis" => "thesis"
|
6
7
|
}
|
7
8
|
|
8
9
|
BIB_TO_RIS_TRANSLATIONS = {
|
@@ -19,50 +20,52 @@ module Bolognese
|
|
19
20
|
}
|
20
21
|
|
21
22
|
BIB_TO_SO_TRANSLATIONS = {
|
22
|
-
"article" => "ScholarlyArticle"
|
23
|
+
"article" => "ScholarlyArticle",
|
24
|
+
"phdthesis" => "Thesis"
|
23
25
|
}
|
24
26
|
|
25
27
|
def read_bibtex(string: nil, **options)
|
26
28
|
meta = string.present? ? BibTeX.parse(string).first : OpenStruct.new
|
27
29
|
|
28
30
|
type = BIB_TO_SO_TRANSLATIONS[meta.type.to_s] || "ScholarlyArticle"
|
29
|
-
doi = meta.doi
|
31
|
+
doi = meta.try(:doi)
|
30
32
|
|
31
|
-
author = Array(meta.author).map do |a|
|
33
|
+
author = Array(meta.try(:author)).map do |a|
|
32
34
|
{ "type" => "Person",
|
33
35
|
"name" => [a.first, a.last].join(" "),
|
34
36
|
"givenName" => a.first,
|
35
37
|
"familyName" => a.last }.compact
|
36
38
|
end
|
37
39
|
|
38
|
-
is_part_of = if meta.journal.present?
|
40
|
+
is_part_of = if meta.try(:journal).present?
|
39
41
|
{ "type" => "Periodical",
|
40
42
|
"title" => meta.journal.to_s,
|
41
|
-
"issn" => meta.issn.to_s.presence }.compact
|
43
|
+
"issn" => meta.try(:issn).to_s.presence }.compact
|
42
44
|
else
|
43
45
|
nil
|
44
46
|
end
|
45
47
|
|
46
|
-
page_first, page_last = meta.pages.to_s.split("-")
|
48
|
+
page_first, page_last = meta.try(:pages).to_s.split("-")
|
47
49
|
state = doi.present? ? "findable" : "not_found"
|
48
50
|
|
49
51
|
{ "id" => normalize_doi(doi),
|
50
52
|
"type" => type,
|
53
|
+
"bibtex_type" => meta.type.to_s,
|
51
54
|
"citeproc_type" => BIB_TO_CP_TRANSLATIONS[meta.type.to_s] || "misc",
|
52
55
|
"ris_type" => BIB_TO_RIS_TRANSLATIONS[meta.type.to_s] || "GEN",
|
53
56
|
"resource_type_general" => Metadata::SO_TO_DC_TRANSLATIONS[type],
|
54
57
|
"doi" => doi,
|
55
|
-
"b_url" => meta.url.to_s,
|
56
|
-
"title" => meta.title.to_s,
|
58
|
+
"b_url" => meta.try(:url).to_s,
|
59
|
+
"title" => meta.try(:title).to_s,
|
57
60
|
"author" => author,
|
58
|
-
"publisher" => meta.publisher.to_s.presence,
|
61
|
+
"publisher" => meta.try(:publisher).to_s.presence,
|
59
62
|
"is_part_of" => is_part_of,
|
60
|
-
"date_published" => meta.date.to_s.presence,
|
61
|
-
"volume" => meta.volume.to_s.presence,
|
63
|
+
"date_published" => meta.try(:date).to_s.presence,
|
64
|
+
"volume" => meta.try(:volume).to_s.presence,
|
62
65
|
"page_first" => page_first,
|
63
66
|
"page_last" => page_last,
|
64
|
-
"description" => { "text" => meta.
|
65
|
-
"license" => { "id" => meta.
|
67
|
+
"description" => { "text" => meta.try(:abstract) && sanitize(meta.abstract.to_s).presence },
|
68
|
+
"license" => { "id" => meta.try(:copyright).to_s.presence },
|
66
69
|
"state" => state
|
67
70
|
}
|
68
71
|
end
|
@@ -2,34 +2,6 @@ module Bolognese
|
|
2
2
|
module Readers
|
3
3
|
module CrossrefReader
|
4
4
|
# CrossRef types from https://api.crossref.org/types
|
5
|
-
CR_TO_SO_TRANSLATIONS = {
|
6
|
-
"Proceedings" => nil,
|
7
|
-
"ReferenceBook" => "Book",
|
8
|
-
"JournalIssue" => "PublicationIssue",
|
9
|
-
"ProceedingsArticle" => nil,
|
10
|
-
"Other" => "CreativeWork",
|
11
|
-
"Dissertation" => "Thesis",
|
12
|
-
"Dataset" => "Dataset",
|
13
|
-
"EditedBook" => "Book",
|
14
|
-
"JournalArticle" => "ScholarlyArticle",
|
15
|
-
"Journal" => nil,
|
16
|
-
"Report" => nil,
|
17
|
-
"BookSeries" => nil,
|
18
|
-
"ReportSeries" => nil,
|
19
|
-
"BookTrack" => nil,
|
20
|
-
"Standard" => nil,
|
21
|
-
"BookSection" => nil,
|
22
|
-
"BookPart" => nil,
|
23
|
-
"Book" => "Book",
|
24
|
-
"BookChapter" => "Chapter",
|
25
|
-
"StandardSeries" => nil,
|
26
|
-
"Monograph" => "Book",
|
27
|
-
"Component" => "CreativeWork",
|
28
|
-
"ReferenceEntry" => nil,
|
29
|
-
"JournalVolume" => "PublicationVolume",
|
30
|
-
"BookSet" => nil,
|
31
|
-
"PostedContent" => "ScholarlyArticle"
|
32
|
-
}
|
33
5
|
|
34
6
|
CR_TO_BIB_TRANSLATIONS = {
|
35
7
|
"Proceedings" => "proceedings",
|
@@ -127,7 +99,7 @@ module Bolognese
|
|
127
99
|
end
|
128
100
|
|
129
101
|
additional_type = (additional_type || model).to_s.underscore.camelize.presence
|
130
|
-
type = CR_TO_SO_TRANSLATIONS[additional_type] || "ScholarlyArticle"
|
102
|
+
type = Bolognese::Utils::CR_TO_SO_TRANSLATIONS[additional_type] || "ScholarlyArticle"
|
131
103
|
|
132
104
|
doi = bibliographic_metadata.dig("doi_data", "doi").to_s.downcase.presence #|| doi_from_url(options[:id])
|
133
105
|
|
@@ -57,7 +57,8 @@ module Bolognese
|
|
57
57
|
|
58
58
|
doi = doi_from_url(id)
|
59
59
|
resource_type_general = meta.dig("resourceType", "resourceTypeGeneral")
|
60
|
-
|
60
|
+
additional_type = meta.fetch("resourceType", {}).fetch("__content__", nil)
|
61
|
+
type = Bolognese::Utils::CR_TO_SO_TRANSLATIONS[additional_type.to_s.underscore.camelcase] || Bolognese::Utils::DC_TO_SO_TRANSLATIONS[resource_type_general.to_s.dasherize] || "CreativeWork"
|
61
62
|
title = Array.wrap(meta.dig("titles", "title")).map do |r|
|
62
63
|
if r.is_a?(String)
|
63
64
|
sanitize(r)
|
@@ -92,8 +93,8 @@ module Bolognese
|
|
92
93
|
|
93
94
|
{ "id" => id,
|
94
95
|
"type" => type,
|
95
|
-
"additional_type" =>
|
96
|
-
"citeproc_type" => Bolognese::Utils::
|
96
|
+
"additional_type" => additional_type,
|
97
|
+
"citeproc_type" => Bolognese::Utils::SO_TO_CP_TRANSLATIONS[type] || "article",
|
97
98
|
"bibtex_type" => Bolognese::Utils::SO_TO_BIB_TRANSLATIONS[type] || "misc",
|
98
99
|
"ris_type" => Bolognese::Utils::DC_TO_RIS_TRANSLATIONS[resource_type_general.to_s.dasherize] || "GEN",
|
99
100
|
"resource_type_general" => resource_type_general,
|
@@ -7,6 +7,7 @@ module Bolognese
|
|
7
7
|
"CTLG" => "DataCatalog",
|
8
8
|
"DATA" => "Dataset",
|
9
9
|
"FIGURE" => "ImageObject",
|
10
|
+
"THES" => "Thesis",
|
10
11
|
"MPCT" => "Movie",
|
11
12
|
"JOUR" => "ScholarlyArticle",
|
12
13
|
"COMP" => "SoftwareSourceCode",
|
@@ -39,6 +40,8 @@ module Bolognese
|
|
39
40
|
doi = validate_doi(meta.fetch("DO", nil))
|
40
41
|
author = Array.wrap(meta.fetch("AU", nil)).map { |a| { "name" => a } }
|
41
42
|
container_title = meta.fetch("T2", nil)
|
43
|
+
date_parts = meta.fetch("PY", nil).to_s.split("/")
|
44
|
+
date_published = get_date_from_parts(*date_parts)
|
42
45
|
is_part_of = if container_title.present?
|
43
46
|
{ "type" => "Periodical",
|
44
47
|
"title" => container_title,
|
@@ -61,7 +64,7 @@ module Bolognese
|
|
61
64
|
"publisher" => meta.fetch("PB", nil),
|
62
65
|
"is_part_of" => is_part_of,
|
63
66
|
"date_created" => meta.fetch("Y1", nil),
|
64
|
-
"date_published" =>
|
67
|
+
"date_published" => date_published,
|
65
68
|
"date_accessed" => meta.fetch("Y2", nil),
|
66
69
|
"description" => meta.fetch("AB", nil).present? ? { "text" => sanitize(meta.fetch("AB")) } : nil,
|
67
70
|
"volume" => meta.fetch("VL", nil),
|
@@ -78,7 +81,7 @@ module Bolognese
|
|
78
81
|
h = Hash.new { |h,k| h[k] = [] }
|
79
82
|
string.split("\n").reduce(h) do |sum, line|
|
80
83
|
k, v = line.split(" - ")
|
81
|
-
h[k] << v
|
84
|
+
h[k.strip] << v
|
82
85
|
sum
|
83
86
|
end.map { |k,v| [k, v.unwrap] }.to_h.compact
|
84
87
|
end
|
data/lib/bolognese/utils.rb
CHANGED
@@ -70,6 +70,35 @@ module Bolognese
|
|
70
70
|
"BookSet" => nil
|
71
71
|
}
|
72
72
|
|
73
|
+
CR_TO_SO_TRANSLATIONS = {
|
74
|
+
"Proceedings" => nil,
|
75
|
+
"ReferenceBook" => "Book",
|
76
|
+
"JournalIssue" => "PublicationIssue",
|
77
|
+
"ProceedingsArticle" => nil,
|
78
|
+
"Other" => "CreativeWork",
|
79
|
+
"Dissertation" => "Thesis",
|
80
|
+
"Dataset" => "Dataset",
|
81
|
+
"EditedBook" => "Book",
|
82
|
+
"JournalArticle" => "ScholarlyArticle",
|
83
|
+
"Journal" => nil,
|
84
|
+
"Report" => nil,
|
85
|
+
"BookSeries" => nil,
|
86
|
+
"ReportSeries" => nil,
|
87
|
+
"BookTrack" => nil,
|
88
|
+
"Standard" => nil,
|
89
|
+
"BookSection" => nil,
|
90
|
+
"BookPart" => nil,
|
91
|
+
"Book" => "Book",
|
92
|
+
"BookChapter" => "Chapter",
|
93
|
+
"StandardSeries" => nil,
|
94
|
+
"Monograph" => "Book",
|
95
|
+
"Component" => "CreativeWork",
|
96
|
+
"ReferenceEntry" => nil,
|
97
|
+
"JournalVolume" => "PublicationVolume",
|
98
|
+
"BookSet" => nil,
|
99
|
+
"PostedContent" => "ScholarlyArticle"
|
100
|
+
}
|
101
|
+
|
73
102
|
CR_TO_JATS_TRANSLATIONS = {
|
74
103
|
"Proceedings" => "working-paper",
|
75
104
|
"ReferenceBook" => "book",
|
@@ -113,6 +142,7 @@ module Bolognese
|
|
113
142
|
"Movie" => "Audiovisual",
|
114
143
|
"PublicationIssue" => "Text",
|
115
144
|
"ScholarlyArticle" => "Text",
|
145
|
+
"Thesis" => "Text",
|
116
146
|
"Service" => "Service",
|
117
147
|
"SoftwareSourceCode" => "Software",
|
118
148
|
"VideoObject" => "Audiovisual",
|
@@ -157,6 +187,7 @@ module Bolognese
|
|
157
187
|
"PublicationIssue" => nil,
|
158
188
|
"ScholarlyArticle" => "article-journal",
|
159
189
|
"Service" => nil,
|
190
|
+
"Thesis" => "thesis",
|
160
191
|
"VideoObject" => "broadcast",
|
161
192
|
"WebPage" => "webpage",
|
162
193
|
"WebSite" => "webpage"
|
@@ -231,6 +262,7 @@ module Bolognese
|
|
231
262
|
SO_TO_BIB_TRANSLATIONS = {
|
232
263
|
"Article" => "article",
|
233
264
|
"AudioObject" => "misc",
|
265
|
+
"Thesis" => "phdthesis",
|
234
266
|
"Blog" => "misc",
|
235
267
|
"BlogPosting" => "article",
|
236
268
|
"Collection" => "misc",
|
data/lib/bolognese/version.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
@phdthesis{dbbe66e459a446a0b6fddf42d3401ccb,
|
2
|
+
title = "A multiscale analysis of the urban heat island effect: from city averaged temperatures to the energy demand of individual buildings",
|
3
|
+
abstract = "Designing the climates of cities",
|
4
|
+
author = "Y. Toparlar",
|
5
|
+
note = "Proefschrift",
|
6
|
+
year = "2018",
|
7
|
+
month = "4",
|
8
|
+
day = "25",
|
9
|
+
language = "English",
|
10
|
+
isbn = "978-90-386-4503-2",
|
11
|
+
series = "Bouwstenen",
|
12
|
+
publisher = "Technische Universiteit Eindhoven",
|
13
|
+
school = "Department of Built Environment",
|
14
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
TY - THES
|
2
|
+
T1 - A multiscale analysis of the urban heat island effect
|
3
|
+
T2 - from city averaged temperatures to the energy demand of individual buildings
|
4
|
+
AU - Toparlar,Y.
|
5
|
+
N1 - Proefschrift
|
6
|
+
PY - 2018/4/25
|
7
|
+
Y1 - 2018/4/25
|
8
|
+
N2 - Designing the climates of cities
|
9
|
+
AB - Designing the climates of cities
|
10
|
+
M3 - Phd Thesis 1 (Research TU/e / Graduation TU/e)
|
11
|
+
SN - 978-90-386-4503-2
|
12
|
+
T3 - Bouwstenen
|
13
|
+
PB - Technische Universiteit Eindhoven
|
14
|
+
CY - Eindhoven
|
15
|
+
ER -
|
@@ -0,0 +1,103 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://app.datacite.org/prefixes/10.3204
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma 4.0.5 - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Fri, 18 May 2018 10:11:23 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/vnd.api+json; charset=utf-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Status:
|
26
|
+
- 200 OK
|
27
|
+
X-Anonymous-Consumer:
|
28
|
+
- 'true'
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Vary:
|
32
|
+
- Accept-Encoding, Origin
|
33
|
+
X-Request-Id:
|
34
|
+
- c7d2c58a-8a32-4654-865d-d0ee4eda062a
|
35
|
+
Etag:
|
36
|
+
- W/"b6b43f1308b8af8e7954484fe743e2c0"
|
37
|
+
X-Runtime:
|
38
|
+
- '0.018615'
|
39
|
+
X-Powered-By:
|
40
|
+
- Phusion Passenger 5.3.1
|
41
|
+
Server:
|
42
|
+
- nginx/1.14.0 + Phusion Passenger 5.3.1
|
43
|
+
body:
|
44
|
+
encoding: ASCII-8BIT
|
45
|
+
string: '{"data":{"id":"10.3204","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2010-01-01T00:00:00.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"tib.desy","type":"clients"}]},"providers":{"data":[{"id":"tib","type":"providers"}]}}},"included":[{"id":"tib.desy","type":"clients","attributes":{"name":"DESY
|
46
|
+
- Deutsches Elektronen-Synchrotron","symbol":"TIB.DESY","year":2011,"contact-name":"Kirsten
|
47
|
+
Sachs","contact-email":"Kirsten.Sachs@desy.de","domains":"desy.de,cern.ch","url":null,"is-active":true,"has-password":true,"created":"2011-08-12T09:39:17Z","updated":"2018-05-18T02:30:08Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"tib","type":"providers","attributes":{"name":"German
|
48
|
+
National Library of Science and Technology","symbol":"TIB","website":"http://www.tib.eu","contact-name":"Steffen
|
49
|
+
Krentz","contact-email":"steffen.krentz@tib.eu","phone":"+49 511 762 17642","description":"The
|
50
|
+
TIB is the German National Library for all areas of engineering as well as
|
51
|
+
architecture, chemistry, information technology, mathematics and physics.
|
52
|
+
We are the world''s largest specialised library for science and technology
|
53
|
+
and are part of the German research infrastructure. Our function is the comprehensive
|
54
|
+
procurement and archival storage of technical scientific literature from all
|
55
|
+
over the world. TIB was the first DOI registration agency for primary data
|
56
|
+
worldwide. We have been providing DOI registration services since 2005 and
|
57
|
+
we now work directly with over 40 data centres. TIB is one of the founding
|
58
|
+
members of DataCite and is currently the Business Office. We provide DOI registration
|
59
|
+
services for all German data centres in the fields of engineering, architecture,
|
60
|
+
chemistry, information technology, mathematics and physics. Our current focus
|
61
|
+
is on providing DOI names for primary data and grey literature.","country":"DE","logo-url":"https://assets.datacite.org/images/members/tib.png","institution-type":null,"is-active":true,"has-password":true,"joined":"2009-12-01","created":"2010-01-01T00:00:00.000Z","updated":"2018-05-18T02:25:51.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
|
62
|
+
http_version:
|
63
|
+
recorded_at: Fri, 18 May 2018 10:11:23 GMT
|
64
|
+
- request:
|
65
|
+
method: get
|
66
|
+
uri: https://search.datacite.org/api?fl=doi,url,xml,state,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.3204/desy-2014-01645&wt=json
|
67
|
+
body:
|
68
|
+
encoding: US-ASCII
|
69
|
+
string: ''
|
70
|
+
headers:
|
71
|
+
User-Agent:
|
72
|
+
- Maremma 4.0.5 - https://github.com/datacite/maremma
|
73
|
+
Accept:
|
74
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
75
|
+
response:
|
76
|
+
status:
|
77
|
+
code: 200
|
78
|
+
message: OK
|
79
|
+
headers:
|
80
|
+
Date:
|
81
|
+
- Fri, 18 May 2018 10:11:23 GMT
|
82
|
+
Content-Type:
|
83
|
+
- application/json;charset=UTF-8
|
84
|
+
Connection:
|
85
|
+
- keep-alive
|
86
|
+
Server:
|
87
|
+
- nginx/1.10.3 (Ubuntu)
|
88
|
+
Access-Control-Allow-Origin:
|
89
|
+
- "*"
|
90
|
+
Access-Control-Allow-Methods:
|
91
|
+
- GET, POST, PUT, DELETE, OPTIONS
|
92
|
+
Access-Control-Allow-Headers:
|
93
|
+
- DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
|
94
|
+
Access-Control-Expose-Headers:
|
95
|
+
- DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
|
96
|
+
body:
|
97
|
+
encoding: ASCII-8BIT
|
98
|
+
string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"TIB.DESY","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+PGNvbnRyaWJ1dG9ycz48Y29udHJpYnV0b3IgY29udHJpYnV0b3JUeXBlPSJDb250YWN0UGVyc29uIj48Y29udHJpYnV0b3JOYW1lPkNvbnJhZCwgSGVpa288L2NvbnRyaWJ1dG9yTmFtZT48L2NvbnRyaWJ1dG9yPjxjb250cmlidXRvciBjb250cmlidXRvclR5cGU9IlN1cGVydmlzb3IiPjxjb250cmlidXRvck5hbWU+R3J1ZWJlbCwgR2VyaGFyZDwvY29udHJpYnV0b3JOYW1lPjxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZyI+MDAwMC0wMDAyLTg2MzMtODIzNDwvbmFtZUlkZW50aWZpZXI+PGFmZmlsaWF0aW9uPkRldXRzY2hlcyBFbGVrdHJvbmVuLVN5bmNocm90cm9uPC9hZmZpbGlhdGlvbj48L2NvbnRyaWJ1dG9yPjwvY29udHJpYnV0b3JzPjxkYXRlcz48ZGF0ZSBkYXRlVHlwZT0iSXNzdWVkIj4yMDE0PC9kYXRlPjxkYXRlIGRhdGVUeXBlPSJDb3B5cmlnaHRlZCI+MjAxNDwvZGF0ZT48ZGF0ZSBkYXRlVHlwZT0iQ3JlYXRlZCI+MjAwOS0xMC0wMS8yMDE0LTAxLTIzPC9kYXRlPjwvZGF0ZXM+PGRlc2NyaXB0aW9ucz48ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJTZXJpZXNJbmZvcm1hdGlvbiI+VW5pdmVyc2l0eSBvZiBIYW1idXJnLCBEaXNzLiwgMjAxNDsgSGFtYnVyZyA6IFVuaXZlcnNpdHkgb2YgSGFtYnVyZywgMTUyIHBwLiAoMjAxNCkuID0gVW5pdmVyc2l0eSBvZiBIYW1idXJnLCBEaXNzLiwgMjAxNDwvZGVzY3JpcHRpb24+PGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkluIHRoaXMgd29yayB0aGUgc3RhdGljIGFuZCBkeW5hbWljYWwgcHJvcGVydGllcyBvZiB0aGUgZ2xhc3MgZm9ybWVycyBwb2x5cHJvcHlsZW5lIGdseWNvbCBhbmQgZGlidXR5bCBwaHRoYWxhdGUgYXJlIHN0dWRpZWQgaW4gdGhlIHN1cGVyY29vbGVkIHN0YXRlLiBDb2xsb2lkYWwgdHJhY2VyIHBhcnRpY2xlcyBzdXNwZW5kZWQgaW4gdGhlc2UgZ2xhc3MgZm9ybWVycyBhbGxvdyB0aGUgaW52ZXN0aWdhdGlvbiBvZiB0aGVpciBkeW5hbWljcyB3aXRoIGNvaGVyZW50IHN5bmNocm90cm9uIHJhZGlhdGlvbiBieSBtZWFucyBvZiBYLXJheSBwaG90b24gY29ycmVsYXRpb24gc3BlY3Ryb3Njb3B5LiBUaGUgc3RhdGljIHN0cnVjdHVyZSBmYWN0b3JzLCB0aGUgcmVsYXhhdGlvbiB0aW1lcyBhbmQgdGhlIGRpc3BlcnNpb24gcmVsYXRpb25zIG9mIHRoZSB0cmFjZXIgcGFydGljbGVzIHdlcmUgZGV0ZXJtaW5lZCBhcyBmdW5jdGlvbiBvZiB0aGUgc29sdmVudCB0ZW1wZXJhdHVyZS4gVGhlIHJlc3VsdHMgc2hvdyB0aGF0IHRoZSBuYXR1cmUgb2YgdGhlIHBhcnRpY2xlcyBkeW5hbWljcyBpbiB0aGUgZ2xhc3MgZm9ybWVyIGNoYW5nZXMgY2xvc2UgdG8gdGhlIGdsYXNzIHRyYW5zaXRpb24gdGVtcGVyYXR1cmUgKFRnKSBiZXR3ZWVuIDEuMDgg4oiSIDEuMTIgVGcuIFdoaWxlIHRoZSBzdGF0aWMgc3RydWN0dXJlIGZhY3RvciByZW1haW5zIHVuY2hhbmdlZCBpbiB0aGlzIHRlbXBlcmF0dXJlIHJhbmdlLCB0aGUgcGFydGljbGUgZHluYW1pY3MgY2hhbmdlcyBmcm9tIGZyZWUgZGlmZnVzaW9uIGF0IFQgJmd0OyAxLjEyIFRnIHRvIGh5cGVyIGRpZmZ1c2l2ZSBhbmQgY29ycmVsYXRlZCBwYXJ0aWNsZSBtb3Rpb24gYXQgVCAmbHQ7IDEuMDggVGcuIEJ5IGNvbXBhcmluZyBzYW1wbGVzIG9mIGRpZmZlcmVudCBwYXJ0aWNsZSBzaXplcyBhbmQgY29uY2VudHJhdGlvbnMgaXQgYmVjb21lcyBldmlkZW50IHRoYXQgdGhpcyBjaGFuZ2UgaW4gdGhlIGR5bmFtaWNzIGlzIHJlbGF0ZWQgdG8gY2hhbmdlcyBvZiB0aGUgc29sdmVudCBwcm9wZXJ0aWVzLiBUaGVzZSBjaGFuZ2VzIGFyZSBhY2NvbXBhbmllZCBieSBhbiBpbmNyZWFzaW5nIGhldGVyb2dlbmVpdHkgaW4gdGhlIGR5bmFtaWNzIG9mIHRoZSB0cmFjZXIgcGFydGljbGVzLiBUaGUgZmluZGluZ3MgYXJlIGluIGFncmVlbWVudCB3aXRoIGFuIGludGVycHJldGF0aW9uIHRoYXQgZG9tYWlucyBvZiBjb3JyZWxhdGVkIGR5bmFtaWNzIGluIHRoZSBzdXBlcmNvb2xlZCBnbGFzcyBmb3JtZXJzIGdyb3cgaW4gc2l6ZSB3aXRoIGRlY3JlYXNpbmcgdGVtcGVyYXR1cmUuPC9kZXNjcmlwdGlvbj48ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJPdGhlciI+UHVibGlzaGVkIGJ5IFVuaXZlcnNpdHkgb2YgSGFtYnVyZywgSGFtYnVyZzwvZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbnM+PGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuMzIwNC9ERVNZLTIwMTQtMDE2NDU8L2lkZW50aWZpZXI+PGxhbmd1YWdlPmVuPC9sYW5ndWFnZT48cHVibGljYXRpb25ZZWFyPjIwMTQ8L3B1YmxpY2F0aW9uWWVhcj48cHVibGlzaGVyPkRldXRzY2hlcyBFbGVrdHJvbmVuLVN5bmNocm90cm9uLCBERVNZLCBIYW1idXJnPC9wdWJsaXNoZXI+PHJlbGF0ZWRJZGVudGlmaWVycz48cmVsYXRlZElkZW50aWZpZXIgcmVsYXRpb25UeXBlPSJJc0lkZW50aWNhbFRvIiByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTiI+aHR0cDovL25ibi1yZXNvbHZpbmcuZGUvdXJuOm5ibjpkZTpnYnY6MTgtNjU5MDc8L3JlbGF0ZWRJZGVudGlmaWVyPjwvcmVsYXRlZElkZW50aWZpZXJzPjxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+RGlzc2VydGF0aW9uPC9yZXNvdXJjZVR5cGU+PHNpemVzPjxzaXplPnBhZ2VzIDE1Mjwvc2l6ZT48L3NpemVzPjxzdWJqZWN0cz48c3ViamVjdD5EaXNzZXJ0YXRpb248L3N1YmplY3Q+PC9zdWJqZWN0cz48dGl0bGVzPjx0aXRsZT5EeW5hbWljcyBvZiBjb2xsb2lkcyBpbiBtb2xlY3VsYXIgZ2xhc3MgZm9ybWluZyBsaXF1aWRzIHN0dWRpZWQgdmlhIFgtcmF5IHBob3RvbiBjb3JyZWxhdGlvbiBzcGVjdHJvc2NvcHk8L3RpdGxlPjwvdGl0bGVzPjxjcmVhdG9ycz48Y3JlYXRvcj48Y3JlYXRvck5hbWU+Q29ucmFkLCBIZWlrbzwvY3JlYXRvck5hbWU+PC9jcmVhdG9yPjwvY3JlYXRvcnM+PC9yZXNvdXJjZT4=","allocator_symbol":"TIB","minted":"2018-01-25T13:51:27Z","state":"","updated":"2018-01-25T13:51:27Z","doi":"10.3204/DESY-2014-01645"}]}}
|
99
|
+
|
100
|
+
'
|
101
|
+
http_version:
|
102
|
+
recorded_at: Fri, 18 May 2018 10:11:23 GMT
|
103
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma 4.0.5 - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Crossref-Deployment-Name:
|
22
|
+
- qs5-1
|
23
|
+
Content-Type:
|
24
|
+
- text/xml;charset=UTF-8
|
25
|
+
Content-Language:
|
26
|
+
- en-US
|
27
|
+
Date:
|
28
|
+
- Fri, 18 May 2018 09:45:27 GMT
|
29
|
+
Connection:
|
30
|
+
- close
|
31
|
+
body:
|
32
|
+
encoding: ASCII-8BIT
|
33
|
+
string: !binary |-
|
34
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE3LTEwLTEwIDAxOjEwOjQ5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1c3Rhdm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5EdXJhbmQ8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjE4OC0yNTcwPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEwPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjA5PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNzwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MjwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzLCBhIHN5bm9wc2lzIGFuZCBoYXJtb25pemF0aW9uIG9mIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgbWFqb3Igc2NpZW5jZSBwb2xpY3kgYm9kaWVzLiBUaGUgcm9hZG1hcCB3YXMgZGV2ZWxvcGVkIGJ5IHRoZSBSZXBvc2l0b3JpZXMgRXhwZXJ0IEdyb3VwLCBhcyBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0LCBhbiBpbml0aWF0aXZlIG9mIEZPUkNFMTEub3JnIGFuZCB0aGUgTklIIEJpb0NBRERJRSAoaHR0cHM6Ly9iaW9jYWRkaWUub3JnKSBwcm9ncmFtLiBUaGUgcm9hZG1hcCBtYWtlcyAxMSBzcGVjaWZpYyByZWNvbW1lbmRhdGlvbnMsIGdyb3VwZWQgaW50byB0aHJlZSBwaGFzZXMgb2YgaW1wbGVtZW50YXRpb246IGEpIHJlcXVpcmVkIHN0ZXBzIG5lZWRlZCB0byBzdXBwb3J0IHRoZSBKb2ludCBEZWNsYXJhdGlvbiBvZiBEYXRhIENpdGF0aW9uIFByaW5jaXBsZXMsIGIpIHJlY29tbWVuZGVkIHN0ZXBzIHRoYXQgZmFjaWxpdGF0ZSBhcnRpY2xlL2RhdGEgcHVibGljYXRpb24gd29ya2Zsb3dzLCBhbmQgYykgb3B0aW9uYWwgc3RlcHMgdGhhdCBmdXJ0aGVyIGltcHJvdmUgZGF0YSBjaXRhdGlvbiBzdXBwb3J0IHByb3ZpZGVkIGJ5IGRhdGEgcmVwb3NpdG9yaWVzLjwvcD4NCiAgICAgICAgPC9hYnN0cmFjdD4NCiAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgIDxkb2k+MTAuMTEwMS8wOTcxOTY8L2RvaT4NCiAgICAgICAgICA8dGltZXN0YW1wPjIwMTcxMDA5MjIxMDIzNDEwMDA8L3RpbWVzdGFtcD4NCiAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2Jpb3J4aXYub3JnL2xvb2t1cC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgIDwvcG9zdGVkX2NvbnRlbnQ+DQogICAgPC9jcm9zc3JlZj4NCiAgPC9kb2lfcmVjb3JkPg0KPC9kb2lfcmVjb3Jkcz4=
|
35
|
+
http_version:
|
36
|
+
recorded_at: Fri, 18 May 2018 09:45:27 GMT
|
37
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma 4.0.5 - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Crossref-Deployment-Name:
|
22
|
+
- qs5-1
|
23
|
+
Content-Type:
|
24
|
+
- text/xml;charset=UTF-8
|
25
|
+
Content-Language:
|
26
|
+
- en-US
|
27
|
+
Date:
|
28
|
+
- Fri, 18 May 2018 09:45:27 GMT
|
29
|
+
Connection:
|
30
|
+
- close
|
31
|
+
body:
|
32
|
+
encoding: ASCII-8BIT
|
33
|
+
string: !binary |-
|
34
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE3LTEwLTEwIDAxOjEwOjQ5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1c3Rhdm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5EdXJhbmQ8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjE4OC0yNTcwPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEwPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjA5PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNzwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MjwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzLCBhIHN5bm9wc2lzIGFuZCBoYXJtb25pemF0aW9uIG9mIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgbWFqb3Igc2NpZW5jZSBwb2xpY3kgYm9kaWVzLiBUaGUgcm9hZG1hcCB3YXMgZGV2ZWxvcGVkIGJ5IHRoZSBSZXBvc2l0b3JpZXMgRXhwZXJ0IEdyb3VwLCBhcyBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0LCBhbiBpbml0aWF0aXZlIG9mIEZPUkNFMTEub3JnIGFuZCB0aGUgTklIIEJpb0NBRERJRSAoaHR0cHM6Ly9iaW9jYWRkaWUub3JnKSBwcm9ncmFtLiBUaGUgcm9hZG1hcCBtYWtlcyAxMSBzcGVjaWZpYyByZWNvbW1lbmRhdGlvbnMsIGdyb3VwZWQgaW50byB0aHJlZSBwaGFzZXMgb2YgaW1wbGVtZW50YXRpb246IGEpIHJlcXVpcmVkIHN0ZXBzIG5lZWRlZCB0byBzdXBwb3J0IHRoZSBKb2ludCBEZWNsYXJhdGlvbiBvZiBEYXRhIENpdGF0aW9uIFByaW5jaXBsZXMsIGIpIHJlY29tbWVuZGVkIHN0ZXBzIHRoYXQgZmFjaWxpdGF0ZSBhcnRpY2xlL2RhdGEgcHVibGljYXRpb24gd29ya2Zsb3dzLCBhbmQgYykgb3B0aW9uYWwgc3RlcHMgdGhhdCBmdXJ0aGVyIGltcHJvdmUgZGF0YSBjaXRhdGlvbiBzdXBwb3J0IHByb3ZpZGVkIGJ5IGRhdGEgcmVwb3NpdG9yaWVzLjwvcD4NCiAgICAgICAgPC9hYnN0cmFjdD4NCiAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgIDxkb2k+MTAuMTEwMS8wOTcxOTY8L2RvaT4NCiAgICAgICAgICA8dGltZXN0YW1wPjIwMTcxMDA5MjIxMDIzNDEwMDA8L3RpbWVzdGFtcD4NCiAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2Jpb3J4aXYub3JnL2xvb2t1cC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgIDwvcG9zdGVkX2NvbnRlbnQ+DQogICAgPC9jcm9zc3JlZj4NCiAgPC9kb2lfcmVjb3JkPg0KPC9kb2lfcmVjb3Jkcz4=
|
35
|
+
http_version:
|
36
|
+
recorded_at: Fri, 18 May 2018 09:45:27 GMT
|
37
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,37 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma 4.0.5 - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Crossref-Deployment-Name:
|
22
|
+
- qs3-1
|
23
|
+
Content-Type:
|
24
|
+
- text/xml;charset=UTF-8
|
25
|
+
Content-Language:
|
26
|
+
- en-US
|
27
|
+
Date:
|
28
|
+
- Fri, 18 May 2018 09:45:26 GMT
|
29
|
+
Connection:
|
30
|
+
- close
|
31
|
+
body:
|
32
|
+
encoding: ASCII-8BIT
|
33
|
+
string: !binary |-
|
34
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE3LTEwLTEwIDAxOjEwOjQ5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1c3Rhdm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5EdXJhbmQ8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjE4OC0yNTcwPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEwPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjA5PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNzwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MjwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzLCBhIHN5bm9wc2lzIGFuZCBoYXJtb25pemF0aW9uIG9mIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgbWFqb3Igc2NpZW5jZSBwb2xpY3kgYm9kaWVzLiBUaGUgcm9hZG1hcCB3YXMgZGV2ZWxvcGVkIGJ5IHRoZSBSZXBvc2l0b3JpZXMgRXhwZXJ0IEdyb3VwLCBhcyBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0LCBhbiBpbml0aWF0aXZlIG9mIEZPUkNFMTEub3JnIGFuZCB0aGUgTklIIEJpb0NBRERJRSAoaHR0cHM6Ly9iaW9jYWRkaWUub3JnKSBwcm9ncmFtLiBUaGUgcm9hZG1hcCBtYWtlcyAxMSBzcGVjaWZpYyByZWNvbW1lbmRhdGlvbnMsIGdyb3VwZWQgaW50byB0aHJlZSBwaGFzZXMgb2YgaW1wbGVtZW50YXRpb246IGEpIHJlcXVpcmVkIHN0ZXBzIG5lZWRlZCB0byBzdXBwb3J0IHRoZSBKb2ludCBEZWNsYXJhdGlvbiBvZiBEYXRhIENpdGF0aW9uIFByaW5jaXBsZXMsIGIpIHJlY29tbWVuZGVkIHN0ZXBzIHRoYXQgZmFjaWxpdGF0ZSBhcnRpY2xlL2RhdGEgcHVibGljYXRpb24gd29ya2Zsb3dzLCBhbmQgYykgb3B0aW9uYWwgc3RlcHMgdGhhdCBmdXJ0aGVyIGltcHJvdmUgZGF0YSBjaXRhdGlvbiBzdXBwb3J0IHByb3ZpZGVkIGJ5IGRhdGEgcmVwb3NpdG9yaWVzLjwvcD4NCiAgICAgICAgPC9hYnN0cmFjdD4NCiAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgIDxkb2k+MTAuMTEwMS8wOTcxOTY8L2RvaT4NCiAgICAgICAgICA8dGltZXN0YW1wPjIwMTcxMDA5MjIxMDIzNDEwMDA8L3RpbWVzdGFtcD4NCiAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2Jpb3J4aXYub3JnL2xvb2t1cC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgIDwvcG9zdGVkX2NvbnRlbnQ+DQogICAgPC9jcm9zc3JlZj4NCiAgPC9kb2lfcmVjb3JkPg0KPC9kb2lfcmVjb3Jkcz4=
|
35
|
+
http_version:
|
36
|
+
recorded_at: Fri, 18 May 2018 09:45:26 GMT
|
37
|
+
recorded_with: VCR 3.0.3
|
@@ -38,5 +38,21 @@ describe Bolognese::Metadata, vcr: true do
|
|
38
38
|
expect(subject.date_published).to eq("2014")
|
39
39
|
expect(subject.is_part_of).to eq("type"=>"Periodical", "title"=>"eLife", "issn"=>"2050-084X")
|
40
40
|
end
|
41
|
+
|
42
|
+
it "DOI does not exist" do
|
43
|
+
input = fixture_path + "pure.bib"
|
44
|
+
doi = "10.7554/elife.01567"
|
45
|
+
subject = Bolognese::Metadata.new(input: input, doi: doi)
|
46
|
+
expect(subject.valid?).to be false
|
47
|
+
expect(subject.state).to eq("not_found")
|
48
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
49
|
+
expect(subject.bibtex_type).to eq("phdthesis")
|
50
|
+
expect(subject.type).to eq("Thesis")
|
51
|
+
expect(subject.resource_type_general).to eq("Text")
|
52
|
+
expect(subject.author).to eq([{"type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar"}])
|
53
|
+
expect(subject.title).to eq("A multiscale analysis of the urban heat island effect: from city averaged temperatures to the energy demand of individual buildings")
|
54
|
+
expect(subject.description["text"]).to start_with("Designing the climates of cities")
|
55
|
+
expect(subject.date_published).to eq("2018")
|
56
|
+
end
|
41
57
|
end
|
42
58
|
end
|
@@ -241,7 +241,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
241
241
|
subject = Bolognese::Metadata.new(input: input)
|
242
242
|
expect(subject.valid?).to be true
|
243
243
|
expect(subject.identifier).to eq("https://doi.org/10.5072/testpub")
|
244
|
-
expect(subject.type).to eq("
|
244
|
+
expect(subject.type).to eq("Book")
|
245
245
|
expect(subject.additional_type).to eq("Monograph")
|
246
246
|
expect(subject.resource_type_general).to eq("Text")
|
247
247
|
expect(subject.author).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
|
@@ -260,7 +260,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
260
260
|
subject = Bolognese::Metadata.new(input: input, doi: "10.5072/testpub2")
|
261
261
|
expect(subject.valid?).to be true
|
262
262
|
expect(subject.identifier).to eq("https://doi.org/10.5072/testpub2")
|
263
|
-
expect(subject.type).to eq("
|
263
|
+
expect(subject.type).to eq("Book")
|
264
264
|
expect(subject.additional_type).to eq("Monograph")
|
265
265
|
expect(subject.resource_type_general).to eq("Text")
|
266
266
|
expect(subject.author).to eq([{"type"=>"Person", "name"=>"John Smith", "givenName"=>"John", "familyName"=>"Smith"}, {"name"=>"つまらないものですが"}])
|
@@ -386,6 +386,24 @@ describe Bolognese::Metadata, vcr: true do
|
|
386
386
|
expect(subject.valid?).to be false
|
387
387
|
expect(subject.errors).to eq("4:0: ERROR: Element '{http://datacite.org/schema/kernel-4}creators': Missing child element(s). Expected is ( {http://datacite.org/schema/kernel-4}creator ).")
|
388
388
|
end
|
389
|
+
|
390
|
+
it "dissertation" do
|
391
|
+
input = "10.3204/desy-2014-01645"
|
392
|
+
subject = Bolognese::Metadata.new(input: input)
|
393
|
+
expect(subject.valid?).to be true
|
394
|
+
expect(subject.identifier).to eq("https://doi.org/10.3204/desy-2014-01645")
|
395
|
+
expect(subject.resource_type_general).to eq("Text")
|
396
|
+
expect(subject.additional_type).to eq("Dissertation")
|
397
|
+
expect(subject.type).to eq("Thesis")
|
398
|
+
expect(subject.bibtex_type).to eq("phdthesis")
|
399
|
+
expect(subject.citeproc_type).to eq("thesis")
|
400
|
+
expect(subject.author).to eq("type"=>"Person", "name"=>"Heiko Conrad", "givenName"=>"Heiko", "familyName"=>"Conrad")
|
401
|
+
expect(subject.title).to eq("Dynamics of colloids in molecular glass forming liquids studied via X-ray photon correlation spectroscopy")
|
402
|
+
expect(subject.date_published).to eq("2014")
|
403
|
+
expect(subject.publisher).to eq("Deutsches Elektronen-Synchrotron, DESY, Hamburg")
|
404
|
+
expect(subject.service_provider).to eq("DataCite")
|
405
|
+
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
406
|
+
end
|
389
407
|
end
|
390
408
|
|
391
409
|
context "change datacite metadata" do
|
@@ -41,5 +41,21 @@ describe Bolognese::Metadata, vcr: true do
|
|
41
41
|
expect(subject.is_part_of).to eq("type"=>"Periodical", "title"=>"eLife")
|
42
42
|
expect(subject.container_title).to eq("eLife")
|
43
43
|
end
|
44
|
+
|
45
|
+
it "DOI does not exist" do
|
46
|
+
input = fixture_path + "pure.ris"
|
47
|
+
doi = "10.7554/elife.01567"
|
48
|
+
subject = Bolognese::Metadata.new(input: input, doi: doi)
|
49
|
+
expect(subject.valid?).to be false
|
50
|
+
expect(subject.state).to eq("not_found")
|
51
|
+
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
52
|
+
expect(subject.ris_type).to eq("THES")
|
53
|
+
expect(subject.type).to eq("Thesis")
|
54
|
+
expect(subject.resource_type_general).to eq("Text")
|
55
|
+
expect(subject.author).to eq("type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar")
|
56
|
+
expect(subject.title).to eq("A multiscale analysis of the urban heat island effect")
|
57
|
+
expect(subject.description["text"]).to start_with("Designing the climates of cities")
|
58
|
+
expect(subject.date_published).to eq("2018-04-25")
|
59
|
+
end
|
44
60
|
end
|
45
61
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -267,6 +267,23 @@ describe Bolognese::Metadata, vcr: true do
|
|
267
267
|
end
|
268
268
|
end
|
269
269
|
|
270
|
+
context "get_date_from_parts" do
|
271
|
+
it "date" do
|
272
|
+
response = subject.get_date_from_parts(2016, 12, 20)
|
273
|
+
expect(response).to eq("2016-12-20")
|
274
|
+
end
|
275
|
+
|
276
|
+
it "year-month" do
|
277
|
+
response = subject.get_date_from_parts(2016, 12)
|
278
|
+
expect(response).to eq("2016-12")
|
279
|
+
end
|
280
|
+
|
281
|
+
it "year" do
|
282
|
+
response = subject.get_date_from_parts(2016)
|
283
|
+
expect(response).to eq("2016")
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
270
287
|
context "get_date_from_date_parts" do
|
271
288
|
it "date" do
|
272
289
|
date_as_parts = { "date-parts"=>[[2016, 12, 20]] }
|
@@ -28,7 +28,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
28
28
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
29
29
|
expect(subject.valid?).to be true
|
30
30
|
json = JSON.parse(subject.citeproc)
|
31
|
-
expect(json["type"]).to eq("
|
31
|
+
expect(json["type"]).to eq("article-journal")
|
32
32
|
expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
33
33
|
expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
|
34
34
|
expect(json["title"]).to eq("Eating your own Dog Food")
|
@@ -95,7 +95,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
95
95
|
input = "https://doi.org/10.12763/ona1045"
|
96
96
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
97
97
|
json = JSON.parse(subject.citeproc)
|
98
|
-
expect(json["type"]).to eq("
|
98
|
+
expect(json["type"]).to eq("article-journal")
|
99
99
|
expect(json["DOI"]).to eq("10.12763/ona1045")
|
100
100
|
expect(json["abstract"]).to eq("Le code est accompagné de commentaires de F. A. Vogel, qui signe l'épitre dédicatoire")
|
101
101
|
end
|
@@ -126,7 +126,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
126
126
|
input = "https://doi.org/10.6102/ZIS146"
|
127
127
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
128
128
|
json = JSON.parse(subject.citeproc)
|
129
|
-
expect(json["type"]).to eq("
|
129
|
+
expect(json["type"]).to eq("article-journal")
|
130
130
|
expect(json["id"]).to eq("https://doi.org/10.6102/zis146")
|
131
131
|
expect(json["DOI"]).to eq("10.6102/zis146")
|
132
132
|
expect(json["title"]).to eq("Deutsche Version der Positive and Negative Affect Schedule (PANAS)")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -560,6 +560,8 @@ files:
|
|
560
560
|
- spec/fixtures/datacite_software_missing_comma.json
|
561
561
|
- spec/fixtures/datacite_software_overlapping_keys.json
|
562
562
|
- spec/fixtures/maremma/codemeta.json
|
563
|
+
- spec/fixtures/pure.bib
|
564
|
+
- spec/fixtures/pure.ris
|
563
565
|
- spec/fixtures/schema_org.json
|
564
566
|
- spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml
|
565
567
|
- spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml
|
@@ -663,6 +665,7 @@ files:
|
|
663
665
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
|
664
666
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml
|
665
667
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
|
668
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml
|
666
669
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml
|
667
670
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml
|
668
671
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml
|
@@ -674,6 +677,9 @@ files:
|
|
674
677
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
|
675
678
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml
|
676
679
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml
|
680
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml
|
681
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml
|
682
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml
|
677
683
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml
|
678
684
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml
|
679
685
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml
|
@@ -901,7 +907,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
901
907
|
version: '0'
|
902
908
|
requirements: []
|
903
909
|
rubyforge_project:
|
904
|
-
rubygems_version: 2.7.
|
910
|
+
rubygems_version: 2.7.7
|
905
911
|
signing_key:
|
906
912
|
specification_version: 4
|
907
913
|
summary: Ruby client library for conversion of DOI Metadata
|