From 43cc91ad759d3950c99a905f0ee4937cade10e5c Mon Sep 17 00:00:00 2001 From: pukkandan Date: Mon, 18 Apr 2022 04:39:25 +0530 Subject: [PATCH] bugfix for 19a0394044bfad36cd665450271b8eb048a41c02, 3d3bb1688bfc5373105e6bf7c3d4729cf3f78788 --- README.md | 15 ++++++++------- yt_dlp/downloader/common.py | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 197d7b49b3..be713569cb 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ * [EXTRACTOR ARGUMENTS](#extractor-arguments) * [PLUGINS](#plugins) * [EMBEDDING YT-DLP](#embedding-yt-dlp) + * [Embedding examples](#embedding-examples) * [DEPRECATED OPTIONS](#deprecated-options) * [CONTRIBUTING](CONTRIBUTING.md#contributing-to-yt-dlp) * [Opening an Issue](CONTRIBUTING.md#opening-an-issue) @@ -1755,11 +1756,11 @@ # EMBEDDING YT-DLP Most likely, you'll want to use various options. For a list of options available, have a look at [`yt_dlp/YoutubeDL.py`](yt_dlp/YoutubeDL.py#L181). -**Tip**: If you are porting your code from youtube-dl to yt-dlp, one important point to look out for is that we do not guarantee the return value of `YoutubeDL.extract_info` to be json serializable, or even be a dictionary. It will be dictionary-like, but if you want to ensure it is a serializable dictionary, pass it through `YoutubeDL.sanitize_info` as shown in the example above +**Tip**: If you are porting your code from youtube-dl to yt-dlp, one important point to look out for is that we do not guarantee the return value of `YoutubeDL.extract_info` to be json serializable, or even be a dictionary. It will be dictionary-like, but if you want to ensure it is a serializable dictionary, pass it through `YoutubeDL.sanitize_info` as shown in the [example below](#extracting-information) ## Embedding examples -### Extracting information +#### Extracting information ```python import json @@ -1775,7 +1776,7 @@ # ℹ️ See help(yt_dlp.YoutubeDL) for a list of available options and public f # ℹ️ ydl.sanitize_info makes the info json-serializable print(json.dumps(ydl.sanitize_info(info))) ``` -### Download from info-json +#### Download using an info-json ```python import yt_dlp @@ -1789,7 +1790,7 @@ ### Download from info-json else 'All videos successfully downloaded') ``` -### Extract audio +#### Extract audio ```python import yt_dlp @@ -1808,7 +1809,7 @@ ### Extract audio with yt_dlp.YoutubeDL(ydl_opts) as ydl: error_code = ydl.download(URLS) ``` -### Adding logger and progress hook +#### Adding logger and progress hook ```python import yt_dlp @@ -1849,7 +1850,7 @@ # ℹ️ See "progress_hooks" in help(yt_dlp.YoutubeDL) ydl.download(URLS) ``` -### Add a custom PostProcessor +#### Add a custom PostProcessor ```python import yt_dlp @@ -1869,7 +1870,7 @@ # ℹ️ See help(yt_dlp.postprocessor.PostProcessor) ``` -### Use a custom format selector +#### Use a custom format selector ```python import yt_dlp diff --git a/yt_dlp/downloader/common.py b/yt_dlp/downloader/common.py index 3e53969886..022a9cd17c 100644 --- a/yt_dlp/downloader/common.py +++ b/yt_dlp/downloader/common.py @@ -431,7 +431,7 @@ def download(self, filename, info_dict, subtitle=False): else: min_sleep_interval = self.params.get('sleep_interval') or 0 sleep_interval = random.uniform( - min_sleep_interval, self.params.get('max_sleep_interval', min_sleep_interval)) + min_sleep_interval, self.params.get('max_sleep_interval') or min_sleep_interval) if sleep_interval > 0: self.to_screen(f'[download] Sleeping {sleep_interval:.2f} seconds ...') time.sleep(sleep_interval)