aranha 0.19.1 → 0.20.0

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: 4db460ee0e49426dd311c9806b08f2fb2bc3ba35ac12444004f37747a51c6baa
4
- data.tar.gz: df64c9ea0a20c25835508a15a4e1af74f042dd7df4f36ab683c9dc302afd6ca5
3
+ metadata.gz: f1117421c0ba7abcf375c5dc921d78b71a5073d756934349a3a0ff36fdd73f79
4
+ data.tar.gz: 04adeb4c58ef52188febab952b5bb98aecdfdbc4b3635ae1efaaf0350cfe1304
5
5
  SHA512:
6
- metadata.gz: fd8bd24a6e557fd66152809a609ca6c280a5238de519f15751fb5fcac25d778d2936d0653951b778875020be016be2a20cc024b63fbccc8cb48f25992d0a3e32
7
- data.tar.gz: a3abc41ffe222d2af65bebc93b223bc773c55b9972018feb15034b78d525fd8931eab0ae6212933704cb93855b87cf690deb35fa6687de8d06c328ef6bb3994d
6
+ metadata.gz: 4b0eabc26eba8d57f3559aace6e91668354eb3bbd2ddddee1bfdd09ca8c58a85c3b28ddcab51eb6dc0c51dbee581c29f3319b99e4700ccf227f3590761127fef
7
+ data.tar.gz: b9a46408902c5a3fc5bc16bf0d03797e4fb9caa197aebafb944d52e0716a317b0b28c55ef67a973110aaf3a861660da6d7ec66ab355d33070580dc3fa22a9cb3
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
- require 'aranha/temporary_errors_manager'
5
-
6
3
  module Aranha
7
4
  class AddressProcessor
8
5
  enable_simple_cache
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'addressable'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
3
  module Aranha
7
4
  class DefaultProcessor
8
5
  class << self
@@ -1,10 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/abstract_methods'
4
-
5
3
  module Aranha
6
4
  class Manager
7
- include ::EacRubyUtils::AbstractMethods
5
+ acts_as_abstract
8
6
 
9
7
  class << self
10
8
  attr_accessor :default
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'net/http'
4
- require 'aranha/parsers/invalid_state_exception'
5
- require 'aranha/manager'
6
-
7
3
  module Aranha
8
4
  class Processor
9
5
  DEFAULT_MAX_TRIES = 3
@@ -42,8 +38,9 @@ module Aranha
42
38
  end
43
39
 
44
40
  def process_address(address)
45
- manager.log_info("Processing #{address} (Try: #{@try}/#{max_tries_s}," \
46
- " Unprocessed: #{unprocessed.count}/#{::Aranha::Manager.default.addresses_count})")
41
+ manager.log_info("Processing #{address} (Try: #{@try}/#{max_tries_s}, " \
42
+ "Unprocessed: #{unprocessed.count}" \
43
+ "/#{::Aranha::Manager.default.addresses_count})")
47
44
  ap = ::Aranha::AddressProcessor.new(address)
48
45
  if ap.successful?
49
46
  @failed.delete(ap.address.id)
@@ -78,10 +75,10 @@ module Aranha
78
75
 
79
76
  def max_tries
80
77
  @max_tries ||= begin
81
- r = Integer(ENV['ARANHA_MAX_TRIES'])
82
- r <= 0 ? 0 : r
83
- rescue ArgumentError, TypeError
84
- DEFAULT_MAX_TRIES
78
+ r = Integer(ENV.fetch('ARANHA_MAX_TRIES', nil))
79
+ [r, 0].max
80
+ rescue ArgumentError, TypeError
81
+ DEFAULT_MAX_TRIES
85
82
  end
86
83
  end
87
84
  end
@@ -1,20 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/parsers/invalid_state_exception'
4
- require 'aranha/parsers/source_address/fetch_content_error'
5
- require 'eac_ruby_utils/core_ext'
6
- require 'selenium-webdriver'
7
-
8
3
  module Aranha
9
4
  module TemporaryErrors
10
- ARANHA_ERRORS = [::Aranha::Parsers::InvalidStateException,
11
- ::Aranha::Parsers::SourceAddress::FetchContentError].freeze
12
5
  CORE_ERRORS = [::SocketError].freeze
13
6
  ERRNO_ERRORS = [Errno::ECONNREFUSED, ::Errno::ECONNRESET].freeze
14
- NET_ERRORS = [::Net::HTTPFatalError, ::Net::HTTPServerException, ::Net::OpenTimeout].freeze
15
- SELENIUM_ERRORS = [::Selenium::WebDriver::Error::TimeoutError].freeze
7
+ NET_ERRORS = [::Net::HTTPFatalError, Net::HTTPClientException, ::Net::OpenTimeout].freeze
16
8
 
17
- ALL_ERRORS = ARANHA_ERRORS + CORE_ERRORS + ERRNO_ERRORS + NET_ERRORS + SELENIUM_ERRORS
9
+ ALL_ERRORS = CORE_ERRORS + ERRNO_ERRORS + NET_ERRORS
18
10
 
19
11
  class << self
20
12
  def errors
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_ruby_utils/gems_registry'
5
-
6
3
  module Aranha
7
4
  module TemporaryErrorsManager
8
5
  GEMS_REGISTRY_MODULE_SUFFIX = 'TemporaryErrors'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aranha
4
- VERSION = '0.19.1'
4
+ VERSION = '0.20.0'
5
5
  end
data/lib/aranha.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
+ EacRubyUtils::RootModuleSetup.perform __FILE__
4
5
 
5
6
  module Aranha
6
- require_sub __FILE__
7
7
  end
metadata CHANGED
@@ -1,83 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aranha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.1
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-08 00:00:00.000000000 Z
11
+ date: 2025-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: aranha-parsers
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.17'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.17.1
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '0.17'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 0.17.1
33
- - !ruby/object:Gem::Dependency
34
- name: aranha-selenium
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '0.5'
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '0.5'
47
13
  - !ruby/object:Gem::Dependency
48
14
  name: eac_ruby_utils
49
15
  requirement: !ruby/object:Gem::Requirement
50
16
  requirements:
51
17
  - - "~>"
52
18
  - !ruby/object:Gem::Version
53
- version: '0.112'
19
+ version: '0.128'
54
20
  type: :runtime
55
21
  prerelease: false
56
22
  version_requirements: !ruby/object:Gem::Requirement
57
23
  requirements:
58
24
  - - "~>"
59
25
  - !ruby/object:Gem::Version
60
- version: '0.112'
26
+ version: '0.128'
61
27
  - !ruby/object:Gem::Dependency
62
28
  name: eac_ruby_gem_support
63
29
  requirement: !ruby/object:Gem::Requirement
64
30
  requirements:
65
31
  - - "~>"
66
32
  - !ruby/object:Gem::Version
67
- version: '0.3'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 0.3.1
33
+ version: '0.12'
71
34
  type: :development
72
35
  prerelease: false
73
36
  version_requirements: !ruby/object:Gem::Requirement
74
37
  requirements:
75
38
  - - "~>"
76
39
  - !ruby/object:Gem::Version
77
- version: '0.3'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 0.3.1
40
+ version: '0.12'
81
41
  description:
82
42
  email:
83
43
  - eduardobogoni@gmail.com
@@ -107,7 +67,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
67
  requirements:
108
68
  - - ">="
109
69
  - !ruby/object:Gem::Version
110
- version: '0'
70
+ version: 2.7.0
111
71
  required_rubygems_version: !ruby/object:Gem::Requirement
112
72
  requirements:
113
73
  - - ">="