add option to sleep before each download
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user