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: 0cf110d52536e064eeb65a445b01fc893d7b45a99b29597e0f5390138c791126
4
- data.tar.gz: 30854b388a406da682dc14ac8d2eedb1cc9b456a2fcf7f7169d6369de809fb24
3
+ metadata.gz: 18af96dce8ec5c7579aec1dc247517bdb6d04c5425c8f64e00c3f71c5357c94b
4
+ data.tar.gz: be74165b6a45cd3aa1f21ea100dbe6664be78687f23cc0c54bb280b6b2a2d0a2
5
5
  SHA512:
6
- metadata.gz: 512af293f0837447589f2f32244f3fd0377342c497ef82dddaa34c1f8d1b8b1ae1a982388fdbf18ef7d29a173dafeb44783d2d3b5afd6f1cc3dee6d85f2c3f43
7
- data.tar.gz: c3b113d4a011718681d93150b1d2374e67708fda81b3c9adfe7e6abc8891c16250f1ad99c71e50e2585852fa6f9fa425ea91da690acc01e0536865e7f536c558
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.select { |ref| ref.include? match[:series] }
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, docid: [docid], relation: rel,
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
- warn "[relaton-ietf] (\"#{code}\") found #{result.docidentifier.first.id}"
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/ietf-ribose/relaton-data-ids/main/data/"
9
- RFC = "https://raw.githubusercontent.com/ietf-ribose/relaton-data-rfcs/main/data/"
10
- RSS = "https://raw.githubusercontent.com/ietf-ribose/relaton-data-rfcsubseries/main/data/"
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, is_relation: false)
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, is_relation
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, is_relation)
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
@@ -1,3 +1,3 @@
1
1
  module RelatonIetf
2
- VERSION = "1.12.1".freeze
2
+ VERSION = "1.12.4".freeze
3
3
  end
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.1
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-06-26 00:00:00.000000000 Z
11
+ date: 2022-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: equivalent-xml