relaton-iec 0.4.2 → 0.4.9
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 +5 -5
- data/Gemfile +3 -0
- data/Gemfile.lock +14 -14
- data/lib/relaton_iec.rb +8 -4
- data/lib/relaton_iec/iec_bibliography.rb +1 -1
- data/lib/relaton_iec/processor.rb +33 -0
- data/lib/relaton_iec/scrapper.rb +6 -4
- data/lib/relaton_iec/version.rb +1 -1
- metadata +4 -5
- data/lib/relaton/processor.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a09fc2455f5b817776122af2bb34bec70fb51a044db47df5a9461931363ece1d
|
4
|
+
data.tar.gz: 2d0f09f8a0558a4b2f7d1b693c3ad50df482ec66673cefc78e47da27c86f2735
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9999ce1a869e0680a2cfa26fa767ba376e716cb3dfb42d6af69bf7f9535d1e940571f97ee3d0ab9c2fb19869aa310973e745211c8686a2706ec10a30c8088cef
|
7
|
+
data.tar.gz: 3747b139a67b508a618e4b15c2ce63908f31650cfb2696ea2a80c5fa10f3f611ce37e4ae344fc5c1399c1bf4e6cfbb7f044a2e64e17dc3ca1f5c9f1fb8543eb8
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,32 +1,32 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
relaton-iec (0.4.
|
4
|
+
relaton-iec (0.4.9)
|
5
5
|
addressable
|
6
6
|
relaton-iso-bib (~> 0.3.0)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
byebug (11.0.1)
|
14
14
|
coderay (1.1.2)
|
15
15
|
crack (0.4.3)
|
16
16
|
safe_yaml (~> 1.0.0)
|
17
|
-
debase (0.2.
|
17
|
+
debase (0.2.4.1)
|
18
18
|
debase-ruby_core_source (>= 0.10.2)
|
19
19
|
debase-ruby_core_source (0.10.5)
|
20
20
|
diff-lcs (1.3)
|
21
21
|
docile (1.3.2)
|
22
22
|
equivalent-xml (0.6.0)
|
23
23
|
nokogiri (>= 1.4.3)
|
24
|
-
hashdiff (0.
|
25
|
-
isoics (0.1.
|
24
|
+
hashdiff (1.0.0)
|
25
|
+
isoics (0.1.8)
|
26
26
|
json (2.2.0)
|
27
27
|
method_source (0.9.2)
|
28
28
|
mini_portile2 (2.4.0)
|
29
|
-
nokogiri (1.10.
|
29
|
+
nokogiri (1.10.4)
|
30
30
|
mini_portile2 (~> 2.4.0)
|
31
31
|
pry (0.12.2)
|
32
32
|
coderay (~> 1.1.0)
|
@@ -34,12 +34,12 @@ GEM
|
|
34
34
|
pry-byebug (3.7.0)
|
35
35
|
byebug (~> 11.0)
|
36
36
|
pry (~> 0.10)
|
37
|
-
public_suffix (
|
37
|
+
public_suffix (4.0.1)
|
38
38
|
rake (10.5.0)
|
39
|
-
relaton-bib (0.3.
|
39
|
+
relaton-bib (0.3.11)
|
40
40
|
addressable
|
41
|
-
nokogiri
|
42
|
-
relaton-iso-bib (0.3.
|
41
|
+
nokogiri
|
42
|
+
relaton-iso-bib (0.3.11)
|
43
43
|
isoics (~> 0.1.6)
|
44
44
|
relaton-bib (~> 0.3.0)
|
45
45
|
ruby_deep_clone (~> 0.8.0)
|
@@ -47,7 +47,7 @@ GEM
|
|
47
47
|
rspec-core (~> 3.8.0)
|
48
48
|
rspec-expectations (~> 3.8.0)
|
49
49
|
rspec-mocks (~> 3.8.0)
|
50
|
-
rspec-core (3.8.
|
50
|
+
rspec-core (3.8.2)
|
51
51
|
rspec-support (~> 3.8.0)
|
52
52
|
rspec-expectations (3.8.4)
|
53
53
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -60,13 +60,13 @@ GEM
|
|
60
60
|
rake (>= 0.8.1)
|
61
61
|
ruby_deep_clone (0.8.0)
|
62
62
|
safe_yaml (1.0.5)
|
63
|
-
simplecov (0.
|
63
|
+
simplecov (0.17.0)
|
64
64
|
docile (~> 1.1)
|
65
65
|
json (>= 1.8, < 3)
|
66
66
|
simplecov-html (~> 0.10.0)
|
67
67
|
simplecov-html (0.10.2)
|
68
68
|
vcr (5.0.0)
|
69
|
-
webmock (3.
|
69
|
+
webmock (3.7.2)
|
70
70
|
addressable (>= 2.3.6)
|
71
71
|
crack (>= 0.3.2)
|
72
72
|
hashdiff (>= 0.4.0, < 2.0.0)
|
data/lib/relaton_iec.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
require "relaton_iec/version"
|
2
2
|
require "relaton_iec/iec_bibliography"
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
|
4
|
+
# if defined? Relaton
|
5
|
+
# require "relaton_iec/processor"
|
6
|
+
# # don't register the gem if it's required form relaton's registry
|
7
|
+
# return if caller.detect { |c| c.include? "register_gems" }
|
8
|
+
|
9
|
+
# Relaton::Registry.instance.register(RelatonIec::Processor)
|
10
|
+
# end
|
7
11
|
|
8
12
|
module RelatonIec
|
9
13
|
# Your code goes here...
|
@@ -13,7 +13,7 @@ module RelatonIec
|
|
13
13
|
# @return [RelatonIec::HitCollection]
|
14
14
|
def search(text, year = nil)
|
15
15
|
HitCollection.new text, year
|
16
|
-
rescue SocketError, OpenURI::HTTPError
|
16
|
+
rescue SocketError, OpenURI::HTTPError, OpenSSL::SSL::SSLError
|
17
17
|
raise RelatonBib::RequestError, "Could not access http://www.iec.ch"
|
18
18
|
end
|
19
19
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "relaton/processor"
|
2
|
+
|
3
|
+
module RelatonIec
|
4
|
+
class Processor < Relaton::Processor
|
5
|
+
def initialize
|
6
|
+
@short = :relaton_iec
|
7
|
+
@prefix = "IEC"
|
8
|
+
@defaultprefix = %r{^(IEC)[ /]|^IEV($| )}
|
9
|
+
@idtype = "IEC"
|
10
|
+
end
|
11
|
+
|
12
|
+
# @param code [String]
|
13
|
+
# @param date [String, NilClass] year
|
14
|
+
# @param opts [Hash]
|
15
|
+
# @return [RelatonIsoBib::IsoBibliographicItem]
|
16
|
+
def get(code, date, opts)
|
17
|
+
::RelatonIec::IecBibliography.get(code, date, opts)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @param xml [String]
|
21
|
+
# @return [RelatonIsoBib::IsoBibliographicItem]
|
22
|
+
def from_xml(xml)
|
23
|
+
RelatonIsoBib::XMLParser.from_xml xml
|
24
|
+
end
|
25
|
+
|
26
|
+
# @param hash [Hash]
|
27
|
+
# @return [RelatonIsoBib::IsoBibliographicItem]
|
28
|
+
def hash_to_bib(hash)
|
29
|
+
item_hash = ::RelatonIsoBib::HashConverter.hash_to_bib(hash)
|
30
|
+
::RelatonIsoBib::IsoBibliographicItem.new item_hash
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/relaton_iec/scrapper.rb
CHANGED
@@ -57,13 +57,14 @@ module RelatonIec
|
|
57
57
|
status, relations = fetch_status_relations hit_data[:url]
|
58
58
|
|
59
59
|
RelatonIsoBib::IsoBibliographicItem.new(
|
60
|
+
fetched: Date.today.to_s,
|
60
61
|
docid: [RelatonBib::DocumentIdentifier.new(id: hit_data[:code], type: "IEC")],
|
61
62
|
structuredidentifier: fetch_structuredidentifier(doc),
|
62
63
|
edition: edition,
|
63
64
|
language: ["en"],
|
64
65
|
script: ["Latn"],
|
65
66
|
title: fetch_titles(hit_data),
|
66
|
-
|
67
|
+
doctype: fetch_type(doc),
|
67
68
|
docstatus: status,
|
68
69
|
ics: fetch_ics(doc),
|
69
70
|
date: fetch_dates(doc),
|
@@ -169,7 +170,8 @@ module RelatonIec
|
|
169
170
|
# end
|
170
171
|
Nokogiri::HTML(resp.body)
|
171
172
|
rescue SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
172
|
-
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError
|
173
|
+
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError,
|
174
|
+
OpenSSL::SSL::SSLError
|
173
175
|
raise RelatonBib::RequestError, "Could not access #{url}"
|
174
176
|
end
|
175
177
|
# rubocop:enable Metrics/AbcSize
|
@@ -292,8 +294,8 @@ module RelatonIec
|
|
292
294
|
# @param doc [Nokogiri::HTML::Document]
|
293
295
|
# @return [String]
|
294
296
|
def fetch_type(doc)
|
295
|
-
doc.at('//th[contains(., "Publication type")]/following-sibling::td/span')
|
296
|
-
|
297
|
+
doc.at('//th[contains(., "Publication type")]/following-sibling::td/span').
|
298
|
+
text.downcase.tr " ", "-"
|
297
299
|
# type_match = title.match(%r{^(ISO|IWA|IEC)(?:(/IEC|/IEEE|/PRF|
|
298
300
|
# /NP)*\s|/)(TS|TR|PAS|AWI|CD|FDIS|NP|DIS|WD|R|Guide|(?=\d+))}x)
|
299
301
|
# #return "international-standard" if type_match.nil?
|
data/lib/relaton_iec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-iec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -198,11 +198,11 @@ files:
|
|
198
198
|
- appveyor.yml
|
199
199
|
- bin/console
|
200
200
|
- bin/setup
|
201
|
-
- lib/relaton/processor.rb
|
202
201
|
- lib/relaton_iec.rb
|
203
202
|
- lib/relaton_iec/hit.rb
|
204
203
|
- lib/relaton_iec/hit_collection.rb
|
205
204
|
- lib/relaton_iec/iec_bibliography.rb
|
205
|
+
- lib/relaton_iec/processor.rb
|
206
206
|
- lib/relaton_iec/scrapper.rb
|
207
207
|
- lib/relaton_iec/statuses.yml
|
208
208
|
- lib/relaton_iec/version.rb
|
@@ -226,8 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
226
|
- !ruby/object:Gem::Version
|
227
227
|
version: '0'
|
228
228
|
requirements: []
|
229
|
-
|
230
|
-
rubygems_version: 2.6.12
|
229
|
+
rubygems_version: 3.0.6
|
231
230
|
signing_key:
|
232
231
|
specification_version: 4
|
233
232
|
summary: 'RelatonIec: retrieve IEC Standards for bibliographic use using the IsoBibliographicItem
|
data/lib/relaton/processor.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require "relaton/processor"
|
2
|
-
|
3
|
-
module Relaton
|
4
|
-
module RelatonIec
|
5
|
-
class Processor < Relaton::Processor
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@short = :relaton_iec
|
9
|
-
@prefix = "IEC"
|
10
|
-
@defaultprefix = %r{^(IEC)[ /]|^IEV($| )}
|
11
|
-
@idtype = "IEC"
|
12
|
-
end
|
13
|
-
|
14
|
-
def get(code, date, opts)
|
15
|
-
::RelatonIec::IecBibliography.get(code, date, opts)
|
16
|
-
end
|
17
|
-
|
18
|
-
def from_xml(xml)
|
19
|
-
RelatonIsoBib::XMLParser.from_xml xml
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|