Skip to content

Commit 82db74d

Browse files
author
Erik Johnson
committed
Move retry to parameter, fix wait time flag
1 parent d33a9b6 commit 82db74d

File tree

6 files changed

+15
-13
lines changed

6 files changed

+15
-13
lines changed

bdfr/__main__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
_downloader_options = [
5252
click.option("--make-hard-links", is_flag=True, default=None),
5353
click.option("--max-wait-time", type=int, default=None),
54+
click.option("--max-wait-retry", type=int, default=None),
5455
click.option("--no-dupes", is_flag=True, default=None),
5556
click.option("--search-existing", is_flag=True, default=None),
5657
click.option("--skip", default=None, multiple=True),

bdfr/archiver.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def __init__(self, args: Configuration, logging_handlers: Iterable[logging.Handl
3131

3232
def download(self):
3333
for generator in self.reddit_lists:
34-
for retry in range(5):
34+
for retry in range(self.args.max_wait_retry or 1):
3535
try:
3636
for submission in generator:
3737
try:
@@ -53,8 +53,8 @@ def download(self):
5353
break
5454
except prawcore.PrawcoreException as e:
5555
logger.error(f"The submission after {submission.id} failed to download due to a PRAW exception: {e}")
56-
logger.debug("Waiting 60 seconds to continue")
57-
sleep(60)
56+
logger.debug(f"Waiting {self.args.max_wait_time} seconds to continue")
57+
sleep(self.args.max_wait_time)
5858

5959
def get_submissions_from_link(self) -> list[list[praw.models.Submission]]:
6060
supplied_submissions = []

bdfr/cloner.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, args: Configuration, logging_handlers: Iterable[logging.Handl
2020

2121
def download(self):
2222
for generator in self.reddit_lists:
23-
for retry in range(5):
23+
for retry in range(self.args.max_wait_retry or 1):
2424
try:
2525
for submission in generator:
2626
try:
@@ -31,5 +31,5 @@ def download(self):
3131
break
3232
except prawcore.PrawcoreException as e:
3333
logger.error(f"The submission after {submission.id} failed to download due to a PRAW exception: {e}")
34-
logger.debug("Waiting 60 seconds to continue")
35-
sleep(60)
34+
logger.debug(f"Waiting {self.args.max_wait_time} seconds to continue")
35+
sleep(self.args.max_wait_time)

bdfr/configuration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ def __init__(self):
3131
self.link: list[str] = []
3232
self.log: Optional[str] = None
3333
self.make_hard_links = False
34-
self.max_wait_time = None
34+
self.max_wait_time = 60
35+
self.max_wait_retry = 5
3536
self.multireddit: list[str] = []
3637
self.no_dupes: bool = False
3738
self.saved: bool = False

bdfr/connector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ def get_user_data(self) -> list[Iterator]:
362362
return []
363363
generators = []
364364
for user in self.args.user:
365-
for retry in range(5):
365+
for retry in range(self.args.max_wait_retry or 1):
366366
try:
367367
try:
368368
self.check_user_existence(user)
@@ -388,8 +388,8 @@ def get_user_data(self) -> list[Iterator]:
388388
break
389389
except prawcore.PrawcoreException as e:
390390
logger.error(f"User {user} failed to be retrieved due to a PRAW exception: {e}")
391-
logger.debug("Waiting 60 seconds to continue")
392-
sleep(60)
391+
logger.debug(f"Waiting {self.args.max_wait_time} seconds to continue")
392+
sleep(self.args.max_wait_time)
393393
return generators
394394
else:
395395
return []

bdfr/downloader.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(self, args: Configuration, logging_handlers: Iterable[logging.Handl
4444

4545
def download(self):
4646
for generator in self.reddit_lists:
47-
for retry in range(5):
47+
for retry in range(self.args.max_wait_retry or 1):
4848
try:
4949
for submission in generator:
5050
try:
@@ -54,8 +54,8 @@ def download(self):
5454
break
5555
except prawcore.PrawcoreException as e:
5656
logger.error(f"The submission after {submission.id} failed to download due to a PRAW exception: {e}")
57-
logger.debug("Waiting 60 seconds to continue")
58-
sleep(60)
57+
logger.debug(f"Waiting {self.args.max_wait_time} seconds to continue")
58+
sleep(self.args.max_wait_time)
5959

6060
def _download_submission(self, submission: praw.models.Submission):
6161
if submission.id in self.excluded_submission_ids:

0 commit comments

Comments
 (0)