relaton-ieee 1.13.0 → 1.14.0
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/.github/workflows/rake.yml +0 -1
- data/.github/workflows/release.yml +22 -0
- data/README.adoc +26 -85
- data/grammars/basicdoc.rng +3 -27
- data/grammars/biblio-standoc.rng +164 -0
- data/grammars/biblio.rng +82 -19
- data/grammars/relaton-ieee-compile.rng +11 -0
- data/grammars/relaton-ieee.rng +151 -0
- data/lib/relaton_ieee/data_parser.rb +2 -2
- data/lib/relaton_ieee/ieee_bibliographic_item.rb +11 -1
- data/lib/relaton_ieee/ieee_bibliography.rb +4 -2
- data/lib/relaton_ieee/version.rb +1 -1
- data/lib/relaton_ieee.rb +0 -1
- data/relaton_ieee.gemspec +4 -1
- metadata +50 -8
- data/grammars/isodoc.rng +0 -2807
- data/grammars/reqt.rng +0 -223
- data/lib/relaton_ieee/hit.rb +0 -9
- data/lib/relaton_ieee/scrapper.rb +0 -154
@@ -0,0 +1,151 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<include href="biblio-standoc.rng">
|
4
|
+
<define name="DocumentType">
|
5
|
+
<choice>
|
6
|
+
<value>guide</value>
|
7
|
+
<value>recommended-practice</value>
|
8
|
+
<value>standard</value>
|
9
|
+
<value>whitepaper</value>
|
10
|
+
<value>redline</value>
|
11
|
+
<value>other</value>
|
12
|
+
</choice>
|
13
|
+
</define>
|
14
|
+
<define name="stage">
|
15
|
+
<element name="stage">
|
16
|
+
<choice>
|
17
|
+
<value>draft</value>
|
18
|
+
<value>approved</value>
|
19
|
+
<value>superseded</value>
|
20
|
+
<value>withdrawn</value>
|
21
|
+
</choice>
|
22
|
+
</element>
|
23
|
+
</define>
|
24
|
+
<define name="editorialgroup">
|
25
|
+
<element name="editorialgroup">
|
26
|
+
<optional>
|
27
|
+
<ref name="society"/>
|
28
|
+
</optional>
|
29
|
+
<optional>
|
30
|
+
<ref name="balloting-group"/>
|
31
|
+
</optional>
|
32
|
+
<optional>
|
33
|
+
<ref name="working-group"/>
|
34
|
+
</optional>
|
35
|
+
<oneOrMore>
|
36
|
+
<ref name="committee"/>
|
37
|
+
</oneOrMore>
|
38
|
+
</element>
|
39
|
+
</define>
|
40
|
+
<define name="DocumentSubtype">
|
41
|
+
<choice>
|
42
|
+
<value>amendment</value>
|
43
|
+
<value>corrigendum</value>
|
44
|
+
<value>erratum</value>
|
45
|
+
</choice>
|
46
|
+
</define>
|
47
|
+
<define name="BibDataExtensionType">
|
48
|
+
<optional>
|
49
|
+
<attribute name="schema-version"/>
|
50
|
+
</optional>
|
51
|
+
<optional>
|
52
|
+
<ref name="doctype"/>
|
53
|
+
</optional>
|
54
|
+
<optional>
|
55
|
+
<ref name="docsubtype"/>
|
56
|
+
</optional>
|
57
|
+
<optional>
|
58
|
+
<ref name="trialuse"/>
|
59
|
+
</optional>
|
60
|
+
<optional>
|
61
|
+
<ref name="editorialgroup"/>
|
62
|
+
</optional>
|
63
|
+
<zeroOrMore>
|
64
|
+
<ref name="ics"/>
|
65
|
+
</zeroOrMore>
|
66
|
+
<optional>
|
67
|
+
<ref name="standard_status"/>
|
68
|
+
</optional>
|
69
|
+
<optional>
|
70
|
+
<ref name="standard_modified"/>
|
71
|
+
</optional>
|
72
|
+
<optional>
|
73
|
+
<ref name="pubstatus"/>
|
74
|
+
</optional>
|
75
|
+
<optional>
|
76
|
+
<ref name="holdstatus"/>
|
77
|
+
</optional>
|
78
|
+
</define>
|
79
|
+
</include>
|
80
|
+
<define name="standard_status">
|
81
|
+
<element name="standard_status">
|
82
|
+
<choice>
|
83
|
+
<value>Inactive</value>
|
84
|
+
<value>Active</value>
|
85
|
+
<value>Superseded</value>
|
86
|
+
</choice>
|
87
|
+
</element>
|
88
|
+
</define>
|
89
|
+
<define name="standard_modified">
|
90
|
+
<element name="standard_modified">
|
91
|
+
<choice>
|
92
|
+
<value>Draft</value>
|
93
|
+
<value>Withdrawn</value>
|
94
|
+
<value>Superseded</value>
|
95
|
+
<value>Approved</value>
|
96
|
+
<value>Reserved</value>
|
97
|
+
<value>Redline</value>
|
98
|
+
</choice>
|
99
|
+
</element>
|
100
|
+
</define>
|
101
|
+
<define name="pubstatus">
|
102
|
+
<element name="pubstatus">
|
103
|
+
<choice>
|
104
|
+
<value>Active</value>
|
105
|
+
<value>Inactive</value>
|
106
|
+
</choice>
|
107
|
+
</element>
|
108
|
+
</define>
|
109
|
+
<define name="holdstatus">
|
110
|
+
<element name="holdstatus">
|
111
|
+
<choice>
|
112
|
+
<value>Hold</value>
|
113
|
+
<value>Publish</value>
|
114
|
+
</choice>
|
115
|
+
</element>
|
116
|
+
</define>
|
117
|
+
<define name="BibliographicDateType" combine="choice">
|
118
|
+
<value>feedback-ended</value>
|
119
|
+
</define>
|
120
|
+
<define name="trialuse">
|
121
|
+
<element name="trial-use">
|
122
|
+
<data type="boolean"/>
|
123
|
+
</element>
|
124
|
+
</define>
|
125
|
+
<define name="balloting-group">
|
126
|
+
<element name="balloting-group">
|
127
|
+
<attribute name="type">
|
128
|
+
<choice>
|
129
|
+
<value>individual</value>
|
130
|
+
<value>entity</value>
|
131
|
+
</choice>
|
132
|
+
</attribute>
|
133
|
+
<text/>
|
134
|
+
</element>
|
135
|
+
</define>
|
136
|
+
<define name="working-group">
|
137
|
+
<element name="working-group">
|
138
|
+
<text/>
|
139
|
+
</element>
|
140
|
+
</define>
|
141
|
+
<define name="committee">
|
142
|
+
<element name="committee">
|
143
|
+
<text/>
|
144
|
+
</element>
|
145
|
+
</define>
|
146
|
+
<define name="society">
|
147
|
+
<element name="society">
|
148
|
+
<text/>
|
149
|
+
</element>
|
150
|
+
</define>
|
151
|
+
</grammar>
|
@@ -35,7 +35,6 @@ module RelatonIeee
|
|
35
35
|
#
|
36
36
|
def parse # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
|
37
37
|
args = {
|
38
|
-
fetched: Date.today.to_s,
|
39
38
|
type: "standard",
|
40
39
|
docnumber: docnumber,
|
41
40
|
title: parse_title,
|
@@ -229,7 +228,8 @@ module RelatonIeee
|
|
229
228
|
# @return [RelatonBib::DocumentStatus]
|
230
229
|
#
|
231
230
|
def parse_status
|
232
|
-
stage = doc.at("./publicationinfo/standard_status").text
|
231
|
+
stage = doc.at("./publicationinfo/standard_status").text.downcase
|
232
|
+
stage.sub!("active", "approved").sub! "inactive", "withdrawn"
|
233
233
|
DocumentStatus.new stage: stage
|
234
234
|
end
|
235
235
|
|
@@ -30,6 +30,15 @@ module RelatonIeee
|
|
30
30
|
@editorialgroup = eg
|
31
31
|
end
|
32
32
|
|
33
|
+
#
|
34
|
+
# Fetch flavor schema version
|
35
|
+
#
|
36
|
+
# @return [String] flavor schema version
|
37
|
+
#
|
38
|
+
def ext_schema
|
39
|
+
@ext_schema ||= schema_versions["relaton-model-ieee"]
|
40
|
+
end
|
41
|
+
|
33
42
|
# @param hash [Hash]
|
34
43
|
# @return [RelatonIeee::IeeeBibliographicItem]
|
35
44
|
def self.from_hash(hash)
|
@@ -45,13 +54,14 @@ module RelatonIeee
|
|
45
54
|
def to_xml(**opts) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
46
55
|
super(**opts) do |bldr|
|
47
56
|
if opts[:bibdata] && (doctype || subdoctype || !trialuse.nil? || editorialgroup || ics.any?)
|
48
|
-
bldr.ext do |b|
|
57
|
+
ext = bldr.ext do |b|
|
49
58
|
b.doctype doctype if doctype
|
50
59
|
b.subdoctype subdoctype if subdoctype
|
51
60
|
b.send :"trial-use", trialuse unless trialuse.nil?
|
52
61
|
editorialgroup&.to_xml(b)
|
53
62
|
ics.each { |ic| ic.to_xml(b) }
|
54
63
|
end
|
64
|
+
ext["schema-version"] = ext_schema unless opts[:embedded]
|
55
65
|
end
|
56
66
|
end
|
57
67
|
end
|
@@ -8,7 +8,7 @@ module RelatonIeee
|
|
8
8
|
#
|
9
9
|
# @param code [String]
|
10
10
|
#
|
11
|
-
# @return [RelatonIeee::
|
11
|
+
# @return [RelatonIeee::IeeeBibliographicItem]
|
12
12
|
#
|
13
13
|
def search(code)
|
14
14
|
ref = code.sub(/Std\s/i, "").gsub(/[\s,:\/]/, "_").squeeze("_").upcase
|
@@ -16,7 +16,9 @@ module RelatonIeee
|
|
16
16
|
resp = Faraday.get url
|
17
17
|
return unless resp.status == 200
|
18
18
|
|
19
|
-
|
19
|
+
hash = YAML.safe_load resp.body
|
20
|
+
hash["fetched"] = Date.today.to_s
|
21
|
+
IeeeBibliographicItem.from_hash hash
|
20
22
|
rescue Faraday::ConnectionFailed
|
21
23
|
raise RelatonBib::RequestError, "Could not access #{GH_URL}"
|
22
24
|
end
|
data/lib/relaton_ieee/version.rb
CHANGED
data/lib/relaton_ieee.rb
CHANGED
@@ -5,7 +5,6 @@ require "relaton_bib"
|
|
5
5
|
require "relaton_ieee/version"
|
6
6
|
require "relaton_ieee/document_status"
|
7
7
|
require "relaton_ieee/ieee_bibliography"
|
8
|
-
# require "relaton_ieee/scrapper"
|
9
8
|
require "relaton_ieee/ieee_bibliographic_item"
|
10
9
|
require "relaton_ieee/editorial_group"
|
11
10
|
require "relaton_ieee/balloting_group"
|
data/relaton_ieee.gemspec
CHANGED
@@ -33,11 +33,14 @@ Gem::Specification.new do |spec|
|
|
33
33
|
|
34
34
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
35
35
|
spec.add_development_dependency "pry-byebug"
|
36
|
+
spec.add_development_dependency "ruby-jing"
|
36
37
|
spec.add_development_dependency "simplecov"
|
37
38
|
spec.add_development_dependency "vcr"
|
38
39
|
spec.add_development_dependency "webmock"
|
40
|
+
spec.add_development_dependency "webrick"
|
39
41
|
|
40
42
|
spec.add_dependency "faraday", "~> 1.0"
|
41
|
-
spec.add_dependency "
|
43
|
+
spec.add_dependency "mini_portile2"
|
44
|
+
spec.add_dependency "relaton-bib", "~> 1.14.0"
|
42
45
|
spec.add_dependency "rubyzip", "~> 2.3.0"
|
43
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-ieee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: equivalent-xml
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ruby-jing
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: simplecov
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +94,20 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webrick
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: faraday
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +122,34 @@ dependencies:
|
|
94
122
|
- - "~>"
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: mini_portile2
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
97
139
|
- !ruby/object:Gem::Dependency
|
98
140
|
name: relaton-bib
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
100
142
|
requirements:
|
101
143
|
- - "~>"
|
102
144
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
145
|
+
version: 1.14.0
|
104
146
|
type: :runtime
|
105
147
|
prerelease: false
|
106
148
|
version_requirements: !ruby/object:Gem::Requirement
|
107
149
|
requirements:
|
108
150
|
- - "~>"
|
109
151
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
152
|
+
version: 1.14.0
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: rubyzip
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,6 +173,7 @@ extensions: []
|
|
131
173
|
extra_rdoc_files: []
|
132
174
|
files:
|
133
175
|
- ".github/workflows/rake.yml"
|
176
|
+
- ".github/workflows/release.yml"
|
134
177
|
- ".gitignore"
|
135
178
|
- ".rspec"
|
136
179
|
- ".rubocop.yml"
|
@@ -142,9 +185,10 @@ files:
|
|
142
185
|
- bin/rspec
|
143
186
|
- bin/setup
|
144
187
|
- grammars/basicdoc.rng
|
188
|
+
- grammars/biblio-standoc.rng
|
145
189
|
- grammars/biblio.rng
|
146
|
-
- grammars/
|
147
|
-
- grammars/
|
190
|
+
- grammars/relaton-ieee-compile.rng
|
191
|
+
- grammars/relaton-ieee.rng
|
148
192
|
- lib/relaton_ieee.rb
|
149
193
|
- lib/relaton_ieee/balloting_group.rb
|
150
194
|
- lib/relaton_ieee/bibxml_parser.rb
|
@@ -153,13 +197,11 @@ files:
|
|
153
197
|
- lib/relaton_ieee/document_status.rb
|
154
198
|
- lib/relaton_ieee/editorial_group.rb
|
155
199
|
- lib/relaton_ieee/hash_converter.rb
|
156
|
-
- lib/relaton_ieee/hit.rb
|
157
200
|
- lib/relaton_ieee/ieee_bibliographic_item.rb
|
158
201
|
- lib/relaton_ieee/ieee_bibliography.rb
|
159
202
|
- lib/relaton_ieee/processor.rb
|
160
203
|
- lib/relaton_ieee/pub_id.rb
|
161
204
|
- lib/relaton_ieee/rawbib_id_parser.rb
|
162
|
-
- lib/relaton_ieee/scrapper.rb
|
163
205
|
- lib/relaton_ieee/version.rb
|
164
206
|
- lib/relaton_ieee/xml_parser.rb
|
165
207
|
- relaton_ieee.gemspec
|