relaton-ietf 1.12.1 → 1.12.4

Sign up to get free protection for your applications and to get access to all the features.
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