add option to sleep before each download

This commit is contained in:
Mike Fährmann
2017-12-04 17:06:17 +01:00
parent 300346ecdf
commit 4fb6803fa6
5 changed files with 28 additions and 0 deletions

View File

@@ -7,6 +7,7 @@
# published by the Free Software Foundation.
import sys
import time
import json
import hashlib
from . import extractor, downloader, config, util, output, exception
@@ -137,6 +138,7 @@ class DownloadJob(Job):
def __init__(self, url, parent=None):
Job.__init__(self, url, parent)
self.pathfmt = util.PathFormat(self.extractor)
self.sleep = self.extractor.config("sleep")
self.downloaders = {}
self.out = output.select()
@@ -146,6 +148,8 @@ class DownloadJob(Job):
if self.pathfmt.exists():
self.out.skip(self.pathfmt.path)
return
if self.sleep:
time.sleep(self.sleep)
dlinstance = self.get_downloader(url)
dlinstance.download(url, self.pathfmt)

View File

@@ -150,6 +150,11 @@ def build_parser():
metavar="SECONDS", action=ConfigAction, dest="timeout", type=float,
help="Timeout for HTTP connections (defaut: 30s)",
)
downloader.add_argument(
"--sleep",
metavar="SECONDS", action=ConfigAction, dest="sleep", type=float,
help="Number of seconds to sleep before each download",
)
downloader.add_argument(
"--no-part",
action=ConfigConstAction, nargs=0, dest="part", const=False,