relaton-ietf 1.12.1 → 1.12.4
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18af96dce8ec5c7579aec1dc247517bdb6d04c5425c8f64e00c3f71c5357c94b
|
4
|
+
data.tar.gz: be74165b6a45cd3aa1f21ea100dbe6664be78687f23cc0c54bb280b6b2a2d0a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7adc1f2cf07a3e571b554d19dac1663088761da74ce483f410e99db180cfb749e499443ec8a0b151eef73e93930ce3c03900b194aac2cf2e56e1e29ec33240ff
|
7
|
+
data.tar.gz: 37a1074f67177a69c0e01926114f2b36ef450802c75ad1b120a6d78513e77c92916c88257bda82ae90b2b573c1b67a9bc45c6ec2d92a615a4ade473297b3e909
|
@@ -33,7 +33,7 @@ module RelatonIetf
|
|
33
33
|
def self.fetch(source, output: "data", format: "yaml")
|
34
34
|
t1 = Time.now
|
35
35
|
puts "Started at: #{t1}"
|
36
|
-
FileUtils.mkdir_p output unless Dir.exist? output
|
36
|
+
FileUtils.mkdir_p output # unless Dir.exist? output
|
37
37
|
new(source, output, format).fetch
|
38
38
|
t2 = Time.now
|
39
39
|
puts "Stopped at: #{t2}"
|
@@ -92,7 +92,7 @@ module RelatonIetf
|
|
92
92
|
match = /(?<series>draft-.+)-(?<ver>\d{2})\.#{@ext}$/.match file
|
93
93
|
if match
|
94
94
|
if series != match[:series]
|
95
|
-
bib_versions = versions.
|
95
|
+
bib_versions = versions.grep(/^#{match[:series]}-\d{2}/)
|
96
96
|
create_series match[:series], bib_versions
|
97
97
|
series = match[:series]
|
98
98
|
end
|
@@ -114,7 +114,7 @@ module RelatonIetf
|
|
114
114
|
# @param [String] ref reference
|
115
115
|
# @param [Array<String>] versions list of versions
|
116
116
|
#
|
117
|
-
def create_series(ref, versions) # rubocop:disable Metrics/AbcSize
|
117
|
+
def create_series(ref, versions) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
118
118
|
return if versions.size < 2
|
119
119
|
|
120
120
|
vs = versions.sort_by { |v| v.match(/\d+$/).to_s.to_i }
|
@@ -123,7 +123,8 @@ module RelatonIetf
|
|
123
123
|
rel = vs.map { |v| version_relation v, "includes" }
|
124
124
|
last_v = HashConverter.hash_to_bib YAML.load_file("#{@output}/#{vs.last}.#{@ext}")
|
125
125
|
bib = IetfBibliographicItem.new(
|
126
|
-
title: last_v[:title], abstract: last_v[:abstract], formattedref: fref,
|
126
|
+
title: last_v[:title], abstract: last_v[:abstract], formattedref: fref,
|
127
|
+
fetched: Date.today.to_s, docid: [docid], relation: rel
|
127
128
|
)
|
128
129
|
save_doc bib
|
129
130
|
end
|
@@ -14,7 +14,7 @@ module RelatonIetf
|
|
14
14
|
def editorialgroup_hash_to_bib(ret)
|
15
15
|
return unless ret[:editorialgroup]
|
16
16
|
|
17
|
-
technical_committee = array(ret[:editorialgroup]).map do |wg|
|
17
|
+
technical_committee = RelatonBib.array(ret[:editorialgroup]).map do |wg|
|
18
18
|
Committee.new RelatonBib::WorkGroup.new(**wg)
|
19
19
|
end
|
20
20
|
ret[:editorialgroup] = RelatonBib::EditorialGroup.new technical_committee
|
@@ -21,7 +21,8 @@ module RelatonIetf
|
|
21
21
|
warn "[relaton-ietf] (\"#{code}\") fetching..."
|
22
22
|
result = search code
|
23
23
|
if result
|
24
|
-
|
24
|
+
docid = result.docidentifier.detect(&:primary) || result.docidentifier.first
|
25
|
+
warn "[relaton-ietf] (\"#{code}\") found #{docid.id}"
|
25
26
|
else
|
26
27
|
warn "[relaton-ietf] (\"#{code}\") not found"
|
27
28
|
end
|
@@ -5,18 +5,17 @@ module RelatonIetf
|
|
5
5
|
module Scrapper
|
6
6
|
extend Scrapper
|
7
7
|
|
8
|
-
IDS = "https://raw.githubusercontent.com/
|
9
|
-
RFC = "https://raw.githubusercontent.com/
|
10
|
-
RSS = "https://raw.githubusercontent.com/
|
8
|
+
IDS = "https://raw.githubusercontent.com/relaton/relaton-data-ids/main/data/"
|
9
|
+
RFC = "https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/data/"
|
10
|
+
RSS = "https://raw.githubusercontent.com/relaton/relaton-data-rfcsubseries/main/data/"
|
11
11
|
|
12
12
|
# @param text [String]
|
13
|
-
# @param is_relation [TrueClass, FalseClass]
|
14
13
|
# @return [RelatonIetf::IetfBibliographicItem]
|
15
|
-
def scrape_page(text
|
14
|
+
def scrape_page(text)
|
16
15
|
# Remove initial "IETF " string if specified
|
17
16
|
ref = text.gsub(/^IETF /, "")
|
18
17
|
ref.sub!(/(?<=^(?:RFC|BCP|FYI|STD))\s(\d+)/) { $1.rjust 4, "0" }
|
19
|
-
rfc_item ref
|
18
|
+
rfc_item ref
|
20
19
|
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
|
21
20
|
Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError,
|
22
21
|
Net::ProtocolError, SocketError
|
@@ -26,9 +25,8 @@ module RelatonIetf
|
|
26
25
|
private
|
27
26
|
|
28
27
|
# @param ref [String]
|
29
|
-
# @param is_relation [Boolen, nil]
|
30
28
|
# @return [RelatonIetf::IetfBibliographicItem]
|
31
|
-
def rfc_item(ref
|
29
|
+
def rfc_item(ref) # rubocop:disable Metrics/MethodLength
|
32
30
|
ghurl = case ref
|
33
31
|
when /^RFC/ then RFC
|
34
32
|
when /^(?:BCP|FYI|STD)/ then RSS
|
data/lib/relaton_ietf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.12.
|
4
|
+
version: 1.12.4
|
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-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: equivalent-xml
|