Skip to content

Commit cd096ba

Browse files
committed
Make SlowRetrievalError parameter optional
SlowRetrievalError is raised from RequestsFetcher where average_download_speed is not calculated. Signed-off-by: Teodora Sechkova <[email protected]>
1 parent 8c9534b commit cd096ba

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

tuf/exceptions.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
from urllib import parse
2626

27-
from typing import Any, Dict
27+
from typing import Any, Dict, Optional
2828

2929
import logging
3030
logger = logging.getLogger(__name__)
@@ -206,16 +206,19 @@ def __repr__(self) -> str:
206206
class SlowRetrievalError(DownloadError):
207207
""""Indicate that downloading a file took an unreasonably long time."""
208208

209-
def __init__(self, average_download_speed: int):
209+
def __init__(self, average_download_speed: Optional[int] = None):
210210
super(SlowRetrievalError, self).__init__()
211211

212212
self.__average_download_speed = average_download_speed #bytes/second
213213

214214
def __str__(self) -> str:
215-
return (
216-
'Download was too slow. Average speed: ' +
215+
msg = 'Download was too slow.'
216+
if self.__average_download_speed is not None:
217+
msg = ('Download was too slow. Average speed: ' +
217218
repr(self.__average_download_speed) + ' bytes per second.')
218219

220+
return msg
221+
219222
def __repr__(self) -> str:
220223
return self.__class__.__name__ + ' : ' + str(self)
221224

tuf/ngclient/_internal/requests_fetcher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def _chunks(
141141
)
142142

143143
except urllib3.exceptions.ReadTimeoutError as e:
144-
raise exceptions.SlowRetrievalError(str(e))
144+
raise exceptions.SlowRetrievalError from e
145145

146146
finally:
147147
response.close()

0 commit comments

Comments
 (0)