[cleanup] linter, code formatting and readme

pull/323/head
pukkandan 4 years ago
parent 74e001af1d
commit 07cce701de
No known key found for this signature in database
GPG Key ID: 0F00D95A001F4698

@ -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

Loading…
Cancel
Save