relaton-w3c 0.1.0 → 1.2.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/grammars/basicdoc.rng +986 -0
- data/grammars/biblio.rng +1237 -0
- data/lib/relaton_w3c/hash_converter.rb +7 -0
- data/lib/relaton_w3c/hit_collection.rb +3 -0
- data/lib/relaton_w3c/scrapper.rb +2 -2
- data/lib/relaton_w3c/version.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliographic_item.rb +1 -1
- data/lib/relaton_w3c/w3c_bibliography.rb +3 -1
- data/lib/relaton_w3c/xml_parser.rb +6 -13
- data/relaton_w3c.gemspec +3 -3
- metadata +8 -6
data/lib/relaton_w3c/scrapper.rb
CHANGED
@@ -44,7 +44,7 @@ module RelatonW3c
|
|
44
44
|
titles << { content: title, type: "main" }
|
45
45
|
subtitle = doc.at("//h2[@id='subtitle']").text
|
46
46
|
titles << { content: subtitle, tipe: "subtitle" }
|
47
|
-
|
47
|
+
elsif hit["title"]
|
48
48
|
titles << { content: hit["title"], type: "main" }
|
49
49
|
end
|
50
50
|
titles.map do |t|
|
@@ -166,7 +166,7 @@ module RelatonW3c
|
|
166
166
|
|
167
167
|
hit = { "link" => link }
|
168
168
|
item = parse_page hit
|
169
|
-
[RelatonBib::DocumentRelation.new(type: "
|
169
|
+
[RelatonBib::DocumentRelation.new(type: "obsoletedBy", bibitem: item)]
|
170
170
|
end
|
171
171
|
|
172
172
|
# @param doc [Nokogiri::HTML::Document]
|
data/lib/relaton_w3c/version.rb
CHANGED
@@ -12,8 +12,8 @@ module RelatonW3c
|
|
12
12
|
if args[:doctype] && !TYPES.include?(args[:doctype])
|
13
13
|
warn "[relaton-w3c] invalid document type: #{args[:doctype]}"
|
14
14
|
end
|
15
|
-
@doctype = args.delete :doctype
|
16
15
|
super **args
|
16
|
+
# @doctype = args[:doctype]
|
17
17
|
end
|
18
18
|
|
19
19
|
# @param builder [Nokogiri::XML::Builder, NilClass]
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "net/http"
|
4
|
+
|
3
5
|
module RelatonW3c
|
4
6
|
# Class methods for search W3C standards.
|
5
7
|
class W3cBibliography
|
@@ -10,7 +12,7 @@ module RelatonW3c
|
|
10
12
|
HitCollection.new text
|
11
13
|
rescue SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET,
|
12
14
|
EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError,
|
13
|
-
Net::ProtocolError,
|
15
|
+
Net::ProtocolError, Errno::ETIMEDOUT
|
14
16
|
raise RelatonBib::RequestError,
|
15
17
|
"Could not access #{HitCollection::DOMAIN}"
|
16
18
|
end
|
@@ -1,19 +1,6 @@
|
|
1
1
|
module RelatonW3c
|
2
2
|
class XMLParser < RelatonBib::XMLParser
|
3
3
|
class << self
|
4
|
-
# @param xml [String]
|
5
|
-
# @return [RelatonW3c::W3cBibliographicItem, NilClass]
|
6
|
-
def from_xml(xml)
|
7
|
-
doc = Nokogiri::XML xml
|
8
|
-
doc.remove_namespaces!
|
9
|
-
item = doc.at("/bibitem|/bibdata")
|
10
|
-
if item
|
11
|
-
W3cBibliographicItem.new(item_data(item))
|
12
|
-
else
|
13
|
-
warn "[relaton-w3c] can't find bibitem or bibdata element in the XML"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
4
|
private
|
18
5
|
|
19
6
|
# Override RelatonBib::XMLParser.item_data method.
|
@@ -27,6 +14,12 @@ module RelatonW3c
|
|
27
14
|
data[:doctype] = ext.at("./doctype")&.text
|
28
15
|
data
|
29
16
|
end
|
17
|
+
|
18
|
+
# @param item_hash [Hash]
|
19
|
+
# @return [RelatonBib::BibliographicItem]
|
20
|
+
def bib_item(item_hash)
|
21
|
+
W3cBibliographicItem.new item_hash
|
22
|
+
end
|
30
23
|
end
|
31
24
|
end
|
32
25
|
end
|
data/relaton_w3c.gemspec
CHANGED
@@ -9,9 +9,9 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ["open.source@ribose.com"]
|
10
10
|
|
11
11
|
spec.summary = "RelatonIso: retrieve W3C Standards for bibliographic "\
|
12
|
-
"
|
12
|
+
"using the IsoBibliographicItem model"
|
13
13
|
spec.description = "RelatonIso: retrieve W3C Standards for bibliographic "\
|
14
|
-
"
|
14
|
+
"using the IsoBibliographicItem model"
|
15
15
|
spec.homepage = "https://github.com/relaton/relaton-wc3"
|
16
16
|
spec.license = "BSD-2-Clause"
|
17
17
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
@@ -39,5 +39,5 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency "vcr"
|
40
40
|
spec.add_development_dependency "webmock"
|
41
41
|
|
42
|
-
spec.add_dependency "relaton-bib", ">=
|
42
|
+
spec.add_dependency "relaton-bib", ">= 1.2.0"
|
43
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-w3c
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.2.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: 2020-
|
11
|
+
date: 2020-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: debase
|
@@ -114,15 +114,15 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 1.2.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
125
|
-
description: 'RelatonIso: retrieve W3C Standards for bibliographic
|
124
|
+
version: 1.2.0
|
125
|
+
description: 'RelatonIso: retrieve W3C Standards for bibliographic using the IsoBibliographicItem
|
126
126
|
model'
|
127
127
|
email:
|
128
128
|
- open.source@ribose.com
|
@@ -144,6 +144,8 @@ files:
|
|
144
144
|
- bin/console
|
145
145
|
- bin/rspec
|
146
146
|
- bin/setup
|
147
|
+
- grammars/basicdoc.rng
|
148
|
+
- grammars/biblio.rng
|
147
149
|
- lib/relaton_w3c.rb
|
148
150
|
- lib/relaton_w3c/hash_converter.rb
|
149
151
|
- lib/relaton_w3c/hit.rb
|
@@ -178,6 +180,6 @@ requirements: []
|
|
178
180
|
rubygems_version: 3.0.6
|
179
181
|
signing_key:
|
180
182
|
specification_version: 4
|
181
|
-
summary: 'RelatonIso: retrieve W3C Standards for bibliographic
|
183
|
+
summary: 'RelatonIso: retrieve W3C Standards for bibliographic using the IsoBibliographicItem
|
182
184
|
model'
|
183
185
|
test_files: []
|