diff --git a/CHANGELOG.md b/CHANGELOG.md index 16d6b40e..d6647c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog ## Unreleased +- Added the ``-r/--limit-rate`` command-line option to set a maximum download rate +- Added the ``--sleep`` command-line option to specify the number of seconds to sleep before each download +- Updated `gelbooru` to no longer use their now disabled API +- Fixed extraction issues for `hentai2read` and `khinsider` +- Removed the deprecated `--images` and `--chapters` options +- Removed the ``mangazuki`` module ## 1.0.2 - 2017-11-24 - Added an option to set a [custom user-agent string](https://github.com/mikf/gallery-dl/blob/master/docs/configuration.rst#extractoruser-agent) diff --git a/docs/configuration.rst b/docs/configuration.rst index 00a91f98..f728f63a 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -270,6 +270,15 @@ Description Controls the behavior when downloading a file whose filename =========== ===== +extractor.*.sleep +---------------- +=========== ===== +Type ``float`` +Default ``0`` +Description Number of seconds to sleep before each download. +=========== ===== + + extractor.*.username & .password -------------------------------- =========== ===== diff --git a/docs/gallery-dl.conf b/docs/gallery-dl.conf index 048fddf9..ff27a412 100644 --- a/docs/gallery-dl.conf +++ b/docs/gallery-dl.conf @@ -1,6 +1,7 @@ { "base-directory": "/tmp/", "netrc": false, + "downloader": { "part": true, @@ -15,6 +16,9 @@ }, "extractor": { + "skip": true, + "sleep": 0, + "pixiv": { "user": diff --git a/gallery_dl/job.py b/gallery_dl/job.py index 4fb439dd..6848a7bf 100644 --- a/gallery_dl/job.py +++ b/gallery_dl/job.py @@ -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) diff --git a/gallery_dl/option.py b/gallery_dl/option.py index 5109f571..403e221f 100644 --- a/gallery_dl/option.py +++ b/gallery_dl/option.py @@ -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,