dependabot-python 0.107.20 → 0.107.21

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: 4b9d84df98343502c47ab84ddf0dedf7b08e5339551a3f20b9510136b2ce6390
4
- data.tar.gz: 9ba0f0349b9c4e05991cec50b518cd6d6f38fe0076234653f9eb1c22d080c73e
3
+ metadata.gz: f80d314bccb00e320686af91f27056546232832a23d2128c22007157dc1d0722
4
+ data.tar.gz: abd75d31672f1c3ef2c36990dfbc3d5d29a2cb156c4f7f21db5bc31a6bfab60e
5
5
  SHA512:
6
- metadata.gz: 3243e53611d53ac5b7538ad7587d0a94c2f16c6e418887101f18379032ac7f53ca11c213b9f13daf2bfa633665cda9eeb3611ac81c3b7786c55ea28a4756ee23
7
- data.tar.gz: 68a089715fea98b5ef2efe3c3832684055bf8f64893838263efbbeafb073296708526d77e5ac87e3ee59eef6cb5e3cf2aa0c519a3808eda34b04a258e7ed28d0
6
+ metadata.gz: d161b7c91490b0ceeef3c769a0d7e02161aff27cb0de4f12640a1e7c290a5c32c90c020ec321a183760f67b96bbd465bcbedd2e8baa9798a7fd3588cb814b4bb
7
+ data.tar.gz: 1fe08001613a0eed45d6c4e9328f81d0f78b5fba6852cfed26b3f964a624877b188e1dd095768cb1bb9ef5a208b350c9eaf0996035f38749cb90a28c5031dfff
@@ -172,14 +172,10 @@ module Dependabot
172
172
  run_command("pyenv local #{python_version}")
173
173
  run_command(command)
174
174
  rescue SharedHelpers::HelperSubprocessFailed => e
175
- original_error ||= e
175
+ original_err ||= e
176
176
  msg = e.message
177
177
 
178
- relevant_error =
179
- if error_suggests_bad_python_version?(msg) then original_error
180
- else e
181
- end
182
-
178
+ relevant_error = choose_relevant_error(original_err, e)
183
179
  raise relevant_error unless error_suggests_bad_python_version?(msg)
184
180
  raise relevant_error if user_specified_python_version
185
181
  raise relevant_error if python_version == "2.7.16"
@@ -191,6 +187,25 @@ module Dependabot
191
187
  FileUtils.remove_entry(".python-version", true)
192
188
  end
193
189
 
190
+ def choose_relevant_error(previous_error, new_error)
191
+ return previous_error if previous_error == new_error
192
+
193
+ # If the previous error was definitely due to using the wrong Python
194
+ # version, return the new error (which can't be worse)
195
+ if error_certainly_bad_python_version?(previous_error.message)
196
+ return new_error
197
+ end
198
+
199
+ # Otherwise, if the new error may be due to using the wrong Python
200
+ # version, return the old error (which can't be worse)
201
+ if error_suggests_bad_python_version?(new_error.message)
202
+ return previous_error
203
+ end
204
+
205
+ # Otherwise, default to the new error
206
+ new_error
207
+ end
208
+
194
209
  def python_env
195
210
  env = {}
196
211
 
@@ -206,6 +221,14 @@ module Dependabot
206
221
  env
207
222
  end
208
223
 
224
+ def error_certainly_bad_python_version?(message)
225
+ unless message.include?('Command "python setup.py egg_info" failed')
226
+ return false
227
+ end
228
+
229
+ message.include?("SyntaxError")
230
+ end
231
+
209
232
  def error_suggests_bad_python_version?(message)
210
233
  return true if message.include?("not find a version that satisfies")
211
234
  return true if message.include?("No matching distribution found")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-python
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.107.20
4
+ version: 0.107.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.107.20
19
+ version: 0.107.21
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.107.20
26
+ version: 0.107.21
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement