mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-19 01:45:13 +00:00
Replace setter and getter with simple attribute access
This commit is contained in:
parent
76800042fd
commit
d0a9affb46
1 changed files with 21 additions and 31 deletions
52
youtube-dl
52
youtube-dl
|
@ -71,10 +71,10 @@ class FileDownloader(object):
|
||||||
|
|
||||||
File downloaders accept a lot of parameters. In order not to saturate
|
File downloaders accept a lot of parameters. In order not to saturate
|
||||||
the object constructor with arguments, it receives a dictionary of
|
the object constructor with arguments, it receives a dictionary of
|
||||||
options instead. These options are available through the get_params()
|
options instead. These options are available through the params
|
||||||
method for the InfoExtractors to use. The FileDownloader also registers
|
attribute for the InfoExtractors to use. The FileDownloader also
|
||||||
itself as the downloader in charge for the InfoExtractors that are
|
registers itself as the downloader in charge for the InfoExtractors
|
||||||
added to it, so this is a "mutual registration".
|
that are added to it, so this is a "mutual registration".
|
||||||
|
|
||||||
Available options:
|
Available options:
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ class FileDownloader(object):
|
||||||
nooverwrites: Prevent overwriting files.
|
nooverwrites: Prevent overwriting files.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_params = None
|
params = None
|
||||||
_ies = []
|
_ies = []
|
||||||
_pps = []
|
_pps = []
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ class FileDownloader(object):
|
||||||
"""Create a FileDownloader object with the given options."""
|
"""Create a FileDownloader object with the given options."""
|
||||||
self._ies = []
|
self._ies = []
|
||||||
self._pps = []
|
self._pps = []
|
||||||
self.set_params(params)
|
self.params = params
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def pmkdir(filename):
|
def pmkdir(filename):
|
||||||
|
@ -174,16 +174,6 @@ class FileDownloader(object):
|
||||||
multiplier = 1024.0 ** 'bkmgtpezy'.index(matchobj.group(2).lower())
|
multiplier = 1024.0 ** 'bkmgtpezy'.index(matchobj.group(2).lower())
|
||||||
return long(round(number * multiplier))
|
return long(round(number * multiplier))
|
||||||
|
|
||||||
def set_params(self, params):
|
|
||||||
"""Sets parameters."""
|
|
||||||
if type(params) != dict:
|
|
||||||
raise ValueError('params: dictionary expected')
|
|
||||||
self._params = params
|
|
||||||
|
|
||||||
def get_params(self):
|
|
||||||
"""Get parameters."""
|
|
||||||
return self._params
|
|
||||||
|
|
||||||
def add_info_extractor(self, ie):
|
def add_info_extractor(self, ie):
|
||||||
"""Add an InfoExtractor object to the end of the list."""
|
"""Add an InfoExtractor object to the end of the list."""
|
||||||
self._ies.append(ie)
|
self._ies.append(ie)
|
||||||
|
@ -196,7 +186,7 @@ class FileDownloader(object):
|
||||||
|
|
||||||
def to_stdout(self, message, skip_eol=False):
|
def to_stdout(self, message, skip_eol=False):
|
||||||
"""Print message to stdout if not in quiet mode."""
|
"""Print message to stdout if not in quiet mode."""
|
||||||
if not self._params.get('quiet', False):
|
if not self.params.get('quiet', False):
|
||||||
print u'%s%s' % (message, [u'\n', u''][skip_eol]),
|
print u'%s%s' % (message, [u'\n', u''][skip_eol]),
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
@ -206,7 +196,7 @@ class FileDownloader(object):
|
||||||
|
|
||||||
def fixed_template(self):
|
def fixed_template(self):
|
||||||
"""Checks if the output template is fixed."""
|
"""Checks if the output template is fixed."""
|
||||||
return (re.search(ur'(?u)%\(.+?\)s', self._params['outtmpl']) is None)
|
return (re.search(ur'(?u)%\(.+?\)s', self.params['outtmpl']) is None)
|
||||||
|
|
||||||
def trouble(self, message=None):
|
def trouble(self, message=None):
|
||||||
"""Determine action to take when a download problem appears.
|
"""Determine action to take when a download problem appears.
|
||||||
|
@ -219,13 +209,13 @@ class FileDownloader(object):
|
||||||
"""
|
"""
|
||||||
if message is not None:
|
if message is not None:
|
||||||
self.to_stderr(message)
|
self.to_stderr(message)
|
||||||
if not self._params.get('ignoreerrors', False):
|
if not self.params.get('ignoreerrors', False):
|
||||||
raise DownloadError(message)
|
raise DownloadError(message)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def slow_down(self, start_time, byte_counter):
|
def slow_down(self, start_time, byte_counter):
|
||||||
"""Sleep if the download speed is over the rate limit."""
|
"""Sleep if the download speed is over the rate limit."""
|
||||||
rate_limit = self._params.get('ratelimit', None)
|
rate_limit = self.params.get('ratelimit', None)
|
||||||
if rate_limit is None or byte_counter == 0:
|
if rate_limit is None or byte_counter == 0:
|
||||||
return
|
return
|
||||||
now = time.time()
|
now = time.time()
|
||||||
|
@ -253,7 +243,7 @@ class FileDownloader(object):
|
||||||
"""Download a given list of URLs."""
|
"""Download a given list of URLs."""
|
||||||
retcode = 0
|
retcode = 0
|
||||||
if len(url_list) > 1 and self.fixed_template():
|
if len(url_list) > 1 and self.fixed_template():
|
||||||
raise SameFileError(self._params['outtmpl'])
|
raise SameFileError(self.params['outtmpl'])
|
||||||
|
|
||||||
for url in url_list:
|
for url in url_list:
|
||||||
suitable_found = False
|
suitable_found = False
|
||||||
|
@ -268,26 +258,26 @@ class FileDownloader(object):
|
||||||
retcode = self.trouble()
|
retcode = self.trouble()
|
||||||
|
|
||||||
if len(results) > 1 and self.fixed_template():
|
if len(results) > 1 and self.fixed_template():
|
||||||
raise SameFileError(self._params['outtmpl'])
|
raise SameFileError(self.params['outtmpl'])
|
||||||
|
|
||||||
for result in results:
|
for result in results:
|
||||||
# Forced printings
|
# Forced printings
|
||||||
if self._params.get('forcetitle', False):
|
if self.params.get('forcetitle', False):
|
||||||
print result['title']
|
print result['title']
|
||||||
if self._params.get('forceurl', False):
|
if self.params.get('forceurl', False):
|
||||||
print result['url']
|
print result['url']
|
||||||
|
|
||||||
# Do nothing else if in simulate mode
|
# Do nothing else if in simulate mode
|
||||||
if self._params.get('simulate', False):
|
if self.params.get('simulate', False):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
filename = self._params['outtmpl'] % result
|
filename = self.params['outtmpl'] % result
|
||||||
self.report_destination(filename)
|
self.report_destination(filename)
|
||||||
except (ValueError, KeyError), err:
|
except (ValueError, KeyError), err:
|
||||||
retcode = self.trouble('ERROR: invalid output template or system charset: %s' % str(err))
|
retcode = self.trouble('ERROR: invalid output template or system charset: %s' % str(err))
|
||||||
continue
|
continue
|
||||||
if self._params['nooverwrites'] and os.path.exists(filename):
|
if self.params['nooverwrites'] and os.path.exists(filename):
|
||||||
self.to_stderr('WARNING: file exists: %s; skipping' % filename)
|
self.to_stderr('WARNING: file exists: %s; skipping' % filename)
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
|
@ -417,7 +407,7 @@ class InfoExtractor(object):
|
||||||
|
|
||||||
def to_stdout(self, message):
|
def to_stdout(self, message):
|
||||||
"""Print message to stdout if downloader is not in quiet mode."""
|
"""Print message to stdout if downloader is not in quiet mode."""
|
||||||
if self._downloader is None or not self._downloader.get_params().get('quiet', False):
|
if self._downloader is None or not self._downloader.params.get('quiet', False):
|
||||||
print message
|
print message
|
||||||
|
|
||||||
def to_stderr(self, message):
|
def to_stderr(self, message):
|
||||||
|
@ -475,7 +465,7 @@ class YoutubeIE(InfoExtractor):
|
||||||
|
|
||||||
username = None
|
username = None
|
||||||
password = None
|
password = None
|
||||||
downloader_params = self._downloader.get_params()
|
downloader_params = self._downloader.params
|
||||||
|
|
||||||
# Attempt to use provided username and password or .netrc data
|
# Attempt to use provided username and password or .netrc data
|
||||||
if downloader_params.get('username', None) is not None:
|
if downloader_params.get('username', None) is not None:
|
||||||
|
@ -549,7 +539,7 @@ class YoutubeIE(InfoExtractor):
|
||||||
# Downloader parameters
|
# Downloader parameters
|
||||||
format_param = None
|
format_param = None
|
||||||
if self._downloader is not None:
|
if self._downloader is not None:
|
||||||
params = self._downloader.get_params()
|
params = self._downloader.params
|
||||||
format_param = params.get('format', None)
|
format_param = params.get('format', None)
|
||||||
|
|
||||||
# Extension
|
# Extension
|
||||||
|
@ -895,7 +885,7 @@ class PostProcessor(object):
|
||||||
|
|
||||||
def to_stdout(self, message):
|
def to_stdout(self, message):
|
||||||
"""Print message to stdout if downloader is not in quiet mode."""
|
"""Print message to stdout if downloader is not in quiet mode."""
|
||||||
if self._downloader is None or not self._downloader.get_params().get('quiet', False):
|
if self._downloader is None or not self._downloader.params.get('quiet', False):
|
||||||
print message
|
print message
|
||||||
|
|
||||||
def to_stderr(self, message):
|
def to_stderr(self, message):
|
||||||
|
|
Loading…
Reference in a new issue