relaton-cie 1.20.0 → 1.20.1

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: 7a7108ae1a1479d11a47caf4f9cbaae2d478416a408c562ebbb80c5143651d09
4
- data.tar.gz: 550e5f6b03a3ecbd1f0f3decb42244cc15138ee53409676454e7ebc36f82a78c
3
+ metadata.gz: dd5511102fe58e22ea8bc53bab129f8ae6fc00b9fb5fd7647d4ff20e12f1a912
4
+ data.tar.gz: f7e2cb38965575cfe36976076cf08014d6d695a36452daef02634cef6dfaace1
5
5
  SHA512:
6
- metadata.gz: 8d030cfb895d9f3c3e400e69e5ce629f42c828d4c71b144858039667029e3c887dd63f5192f64e4a796f5f562ce143ea6016389c7ace9e043522366d218f8d3b
7
- data.tar.gz: 5855c9f89afa11d6ecc81320450039f4b64aa3cc6bd50e9b0fec041127c5848194a88ba5e12d1cce82a9c9514eb9dee6e853d5554f2b790c6f2df447385fa904
6
+ metadata.gz: f3f17b076c36358e79ad828500f727ff102938461826fd54b844a09db211befe4c40a6b9321269b6e9f0a553abd0fadaeb77342f8f5e418e811d7eff31917a9c
7
+ data.tar.gz: dede39458440d919b9babdfb95909503e2ddfcbeb5902c37e78617002793b869f41ab41b21971dac07c95f445a33a0b0866cabcae229a3f86d943336ddcbf7fe
@@ -201,7 +201,7 @@ module RelatonCie
201
201
 
202
202
  # @param hit [Nokogiri::HTML::Element]
203
203
  def parse_page(hit) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
204
- url = "https://www.techstreet.com#{hit.at('h3/a')[:href]}"
204
+ url = hit.at('h3/a')[:href]
205
205
  doc = time_req { agent.get url }
206
206
  item = BibliographicItem.new(
207
207
  type: "standard", link: fetch_link(url), docnumber: fetch_docnumber(hit),
@@ -232,8 +232,8 @@ module RelatonCie
232
232
  def time_req
233
233
  t1 = Time.now
234
234
  result = yield
235
- t = 1 - (Time.now - t1)
236
- sleep t if t.positive?
235
+ t = [4 - (Time.now - t1), 2].max
236
+ sleep t
237
237
  result
238
238
  end
239
239
 
@@ -11,22 +11,30 @@ module RelatonCie
11
11
  row = index.search(code).min_by { |r| r[:id] }
12
12
  return unless row
13
13
 
14
- parse_page "#{ENDPOINT}#{row[:file]}"
15
- rescue OpenURI::HTTPError => e
16
- return if e.io.status.first == "404"
14
+ parse_page "#{ENDPOINT}#{row[:file]}", code
15
+ # rescue OpenURI::HTTPError => e
16
+ # return if e.io.status.first == "404"
17
17
 
18
- raise RelatonBib::RequestError, "No document found for #{code} reference. #{e.message}"
18
+ # raise RelatonBib::RequestError, "No document found for #{code} reference. #{e.message}"
19
19
  end
20
20
 
21
21
  private
22
22
 
23
23
  # @param url [String]
24
24
  # @retrurn [RelatoCie::BibliographicItem]
25
- def parse_page(url)
26
- doc = OpenURI.open_uri url
27
- bib_hash = RelatonBib::HashConverter.hash_to_bib YAML.safe_load(doc)
25
+ def parse_page(url, code)
26
+ resp = Mechanize.new.get url
27
+ bib_hash = RelatonBib::HashConverter.hash_to_bib YAML.safe_load(resp.body)
28
28
  bib_hash[:fetched] = Date.today.to_s
29
29
  RelatonCie::BibliographicItem.new(**bib_hash)
30
+ rescue Mechanize::ResponseCodeError => e
31
+ return if e.response_code == "404"
32
+
33
+ raise RelatonBib::RequestError, "No document found for #{code} reference. #{e.message}"
34
+ rescue Mechanize::RedirectLimitReachedError, Timeout::Error,
35
+ Mechanize::UnauthorizedError, Mechanize::UnsupportedSchemeError,
36
+ Mechanize::ResponseReadError, Mechanize::ChunkedTerminationError => e
37
+ raise RelatonBib::RequestError, "No document found for #{code} reference. #{e.message}"
30
38
  end
31
39
  end
32
40
  end
@@ -1,3 +1,3 @@
1
1
  module RelatonCie
2
- VERSION = "1.20.0".freeze
2
+ VERSION = "1.20.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-cie
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.0
4
+ version: 1.20.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-12 00:00:00.000000000 Z
11
+ date: 2026-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  requirements: []
127
- rubygems_version: 3.3.27
127
+ rubygems_version: 3.5.22
128
128
  signing_key:
129
129
  specification_version: 4
130
130
  summary: 'RelatonEcma: retrieve CIE Standards for bibliographic use using the BibliographicItem