]>
jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_vendor/tenacity/before_sleep.py
1 # Copyright 2016 Julien Danjou
2 # Copyright 2016 Joshua Harlow
3 # Copyright 2013-2014 Ray Holder
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
19 from pip
._vendor
.tenacity
import _utils
21 if typing
.TYPE_CHECKING
:
24 from pip
._vendor
.tenacity
import RetryCallState
27 def before_sleep_nothing(retry_state
: "RetryCallState") -> None:
28 """Before call strategy that does nothing."""
32 logger
: "logging.Logger",
34 exc_info
: bool = False,
35 ) -> typing
.Callable
[["RetryCallState"], None]:
36 """Before call strategy that logs to some logger the attempt."""
38 def log_it(retry_state
: "RetryCallState") -> None:
39 local_exc_info
: BaseException |
bool |
None
41 if retry_state
.outcome
is None:
42 raise RuntimeError("log_it() called before outcome was set")
44 if retry_state
.next_action
is None:
45 raise RuntimeError("log_it() called before next_action was set")
47 if retry_state
.outcome
.failed
:
48 ex
= retry_state
.outcome
.exception()
49 verb
, value
= "raised", f
"{ex.__class__.__name__}: {ex}"
52 local_exc_info
= retry_state
.outcome
.exception()
54 local_exc_info
= False
56 verb
, value
= "returned", retry_state
.outcome
.result()
57 local_exc_info
= False # exc_info does not apply when no exception
59 if retry_state
.fn
is None:
60 # NOTE(sileht): can't really happen, but we must please mypy
63 fn_name
= _utils
.get_callback_name(retry_state
.fn
)
67 f
"Retrying {fn_name} " f
"in {retry_state.next_action.sleep} seconds as it {verb} {value}.",
68 exc_info
=local_exc_info
,