mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[cleanup] linter, code formatting and readme
This commit is contained in:
		| @@ -168,7 +168,7 @@ Python versions 3.6+ (CPython and PyPy) are officially supported. Other versions | |||||||
|  |  | ||||||
| On windows, [Microsoft Visual C++ 2010 Redistributable Package (x86)](https://www.microsoft.com/en-us/download/details.aspx?id=26999) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it. | On windows, [Microsoft Visual C++ 2010 Redistributable Package (x86)](https://www.microsoft.com/en-us/download/details.aspx?id=26999) is also necessary to run yt-dlp. You probably already have this, but if the executable throws an error due to missing `MSVCR100.dll` you need to install it. | ||||||
|  |  | ||||||
| Although there are no other required dependencies, `ffmpeg` and `ffprobe` are highly recommended. Other optional dependencies are `sponskrub`, `AtomicParsley`, `mutagen`, `pycryptodome` and any of the supported external downloaders. Note that the windows releases are already built with the python interpreter, mutagen and pycryptodome included. | Although there are no other required dependencies, `ffmpeg` and `ffprobe` are highly recommended. Other optional dependencies are `sponskrub`, `AtomicParsley`, `mutagen`, `pycryptodome`, `phantomjs` and any of the supported external downloaders. Note that the windows releases are already built with the python interpreter, mutagen and pycryptodome included. | ||||||
|  |  | ||||||
| ### UPDATE | ### UPDATE | ||||||
| You can use `yt-dlp -U` to update if you are using the provided release. | You can use `yt-dlp -U` to update if you are using the provided release. | ||||||
| @@ -818,7 +818,7 @@ You can configure yt-dlp by placing any supported command line option to a confi | |||||||
|     * `~/yt-dlp.conf.txt` |     * `~/yt-dlp.conf.txt` | ||||||
|  |  | ||||||
|     Note that `~` points to `C:\Users\<user name>` on windows. Also, `%XDG_CONFIG_HOME%` defaults to `~/.config` if undefined |     Note that `~` points to `C:\Users\<user name>` on windows. Also, `%XDG_CONFIG_HOME%` defaults to `~/.config` if undefined | ||||||
| 1. **System Configuration**: `/etc/yt-dlp.conf` or `/etc/yt-dlp.conf` | 1. **System Configuration**: `/etc/yt-dlp.conf` | ||||||
|  |  | ||||||
| For example, with the following configuration file yt-dlp will always extract the audio, not copy the mtime, use a proxy and save all videos under `YouTube` directory in your home directory: | For example, with the following configuration file yt-dlp will always extract the audio, not copy the mtime, use a proxy and save all videos under `YouTube` directory in your home directory: | ||||||
| ``` | ``` | ||||||
|   | |||||||
| @@ -1191,8 +1191,8 @@ class YoutubeDL(object): | |||||||
|         elif result_type == 'url': |         elif result_type == 'url': | ||||||
|             # We have to add extra_info to the results because it may be |             # We have to add extra_info to the results because it may be | ||||||
|             # contained in a playlist |             # contained in a playlist | ||||||
|             return self.extract_info(ie_result['url'], |             return self.extract_info( | ||||||
|                                      download, |                 ie_result['url'], download, | ||||||
|                 ie_key=ie_result.get('ie_key'), |                 ie_key=ie_result.get('ie_key'), | ||||||
|                 extra_info=extra_info) |                 extra_info=extra_info) | ||||||
|         elif result_type == 'url_transparent': |         elif result_type == 'url_transparent': | ||||||
| @@ -2136,12 +2136,9 @@ class YoutubeDL(object): | |||||||
|                 self.report_warning('Requested format is not available') |                 self.report_warning('Requested format is not available') | ||||||
|         elif download: |         elif download: | ||||||
|             self.to_screen( |             self.to_screen( | ||||||
|                 '[info] %s: Downloading format(s) %s' |                 '[info] %s: Downloading %d format(s): %s' % ( | ||||||
|                 % (info_dict['id'], ", ".join([f['format_id'] for f in formats_to_download]))) |                     info_dict['id'], len(formats_to_download), | ||||||
|             if len(formats_to_download) > 1: |                     ", ".join([f['format_id'] for f in formats_to_download]))) | ||||||
|                 self.to_screen( |  | ||||||
|                     '[info] %s: Downloading video in %s formats' |  | ||||||
|                     % (info_dict['id'], len(formats_to_download))) |  | ||||||
|             for fmt in formats_to_download: |             for fmt in formats_to_download: | ||||||
|                 new_info = dict(info_dict) |                 new_info = dict(info_dict) | ||||||
|                 new_info.update(fmt) |                 new_info.update(fmt) | ||||||
| @@ -2790,13 +2787,9 @@ class YoutubeDL(object): | |||||||
|                     actual_post_extract(video_dict or {}) |                     actual_post_extract(video_dict or {}) | ||||||
|                 return |                 return | ||||||
|  |  | ||||||
|             if '__post_extractor' not in info_dict: |             post_extractor = info_dict.get('__post_extractor') or (lambda: {}) | ||||||
|                 return |  | ||||||
|             post_extractor = info_dict['__post_extractor'] |  | ||||||
|             if post_extractor: |  | ||||||
|             info_dict.update(post_extractor().items()) |             info_dict.update(post_extractor().items()) | ||||||
|             del info_dict['__post_extractor'] |             info_dict.pop('__post_extractor', None) | ||||||
|             return |  | ||||||
|  |  | ||||||
|         actual_post_extract(info_dict or {}) |         actual_post_extract(info_dict or {}) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -554,6 +554,8 @@ class InfoExtractor(object): | |||||||
|                     self.initialize() |                     self.initialize() | ||||||
|                     self.write_debug('Extracting URL: %s' % url) |                     self.write_debug('Extracting URL: %s' % url) | ||||||
|                     ie_result = self._real_extract(url) |                     ie_result = self._real_extract(url) | ||||||
|  |                     if ie_result is None: | ||||||
|  |                         return None | ||||||
|                     if self._x_forwarded_for_ip: |                     if self._x_forwarded_for_ip: | ||||||
|                         ie_result['__x_forwarded_for_ip'] = self._x_forwarded_for_ip |                         ie_result['__x_forwarded_for_ip'] = self._x_forwarded_for_ip | ||||||
|                     subtitles = ie_result.get('subtitles') |                     subtitles = ie_result.get('subtitles') | ||||||
|   | |||||||
| @@ -1,2 +1,3 @@ | |||||||
| # flake8: noqa | # flake8: noqa | ||||||
|  |  | ||||||
| from .sample import SamplePluginIE | from .sample import SamplePluginIE | ||||||
|   | |||||||
| @@ -1,11 +1,13 @@ | |||||||
|  | # coding: utf-8 | ||||||
|  |  | ||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| # Don't use relative imports | # ⚠ Don't use relative imports | ||||||
| from yt_dlp.extractor.common import InfoExtractor | from yt_dlp.extractor.common import InfoExtractor | ||||||
|  |  | ||||||
|  |  | ||||||
| # See https://github.com/ytdl-org/youtube-dl#adding-support-for-a-new-site | # ℹ️ Instructions on making extractors can be found at: | ||||||
| # for instuctions on making extractors | # 🔗 https://github.com/ytdl-org/youtube-dl#adding-support-for-a-new-site | ||||||
|  |  | ||||||
| class SamplePluginIE(InfoExtractor): | class SamplePluginIE(InfoExtractor): | ||||||
|     _WORKING = False |     _WORKING = False | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan