mirror of
https://github.com/l1ving/youtube-dl
synced 2024-12-31 01:42:59 +08:00
Replace setter and getter with simple attribute access
This commit is contained in:
parent
76800042fd
commit
d0a9affb46
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
|
||||
the object constructor with arguments, it receives a dictionary of
|
||||
options instead. These options are available through the get_params()
|
||||
method for the InfoExtractors to use. The FileDownloader also registers
|
||||
itself as the downloader in charge for the InfoExtractors that are
|
||||
added to it, so this is a "mutual registration".
|
||||
options instead. These options are available through the params
|
||||
attribute for the InfoExtractors to use. The FileDownloader also
|
||||
registers itself as the downloader in charge for the InfoExtractors
|
||||
that are added to it, so this is a "mutual registration".
|
||||
|
||||
Available options:
|
||||
|
||||
@ -92,7 +92,7 @@ class FileDownloader(object):
|
||||
nooverwrites: Prevent overwriting files.
|
||||
"""
|
||||
|
||||
_params = None
|
||||
params = None
|
||||
_ies = []
|
||||
_pps = []
|
||||
|
||||
@ -100,7 +100,7 @@ class FileDownloader(object):
|
||||
"""Create a FileDownloader object with the given options."""
|
||||
self._ies = []
|
||||
self._pps = []
|
||||
self.set_params(params)
|
||||
self.params = params
|
||||
|
||||
@staticmethod
|
||||
def pmkdir(filename):
|
||||
@ -174,16 +174,6 @@ class FileDownloader(object):
|
||||
multiplier = 1024.0 ** 'bkmgtpezy'.index(matchobj.group(2).lower())
|
||||
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):
|
||||
"""Add an InfoExtractor object to the end of the list."""
|
||||
self._ies.append(ie)
|
||||
@ -196,7 +186,7 @@ class FileDownloader(object):
|
||||
|
||||
def to_stdout(self, message, skip_eol=False):
|
||||
"""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]),
|
||||
sys.stdout.flush()
|
||||
|
||||
@ -206,7 +196,7 @@ class FileDownloader(object):
|
||||
|
||||
def fixed_template(self):
|
||||
"""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):
|
||||
"""Determine action to take when a download problem appears.
|
||||
@ -219,13 +209,13 @@ class FileDownloader(object):
|
||||
"""
|
||||
if message is not None:
|
||||
self.to_stderr(message)
|
||||
if not self._params.get('ignoreerrors', False):
|
||||
if not self.params.get('ignoreerrors', False):
|
||||
raise DownloadError(message)
|
||||
return 1
|
||||
|
||||
def slow_down(self, start_time, byte_counter):
|
||||
"""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:
|
||||
return
|
||||
now = time.time()
|
||||
@ -253,7 +243,7 @@ class FileDownloader(object):
|
||||
"""Download a given list of URLs."""
|
||||
retcode = 0
|
||||
if len(url_list) > 1 and self.fixed_template():
|
||||
raise SameFileError(self._params['outtmpl'])
|
||||
raise SameFileError(self.params['outtmpl'])
|
||||
|
||||
for url in url_list:
|
||||
suitable_found = False
|
||||
@ -268,26 +258,26 @@ class FileDownloader(object):
|
||||
retcode = self.trouble()
|
||||
|
||||
if len(results) > 1 and self.fixed_template():
|
||||
raise SameFileError(self._params['outtmpl'])
|
||||
raise SameFileError(self.params['outtmpl'])
|
||||
|
||||
for result in results:
|
||||
# Forced printings
|
||||
if self._params.get('forcetitle', False):
|
||||
if self.params.get('forcetitle', False):
|
||||
print result['title']
|
||||
if self._params.get('forceurl', False):
|
||||
if self.params.get('forceurl', False):
|
||||
print result['url']
|
||||
|
||||
# Do nothing else if in simulate mode
|
||||
if self._params.get('simulate', False):
|
||||
if self.params.get('simulate', False):
|
||||
continue
|
||||
|
||||
try:
|
||||
filename = self._params['outtmpl'] % result
|
||||
filename = self.params['outtmpl'] % result
|
||||
self.report_destination(filename)
|
||||
except (ValueError, KeyError), err:
|
||||
retcode = self.trouble('ERROR: invalid output template or system charset: %s' % str(err))
|
||||
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)
|
||||
continue
|
||||
try:
|
||||
@ -417,7 +407,7 @@ class InfoExtractor(object):
|
||||
|
||||
def to_stdout(self, message):
|
||||
"""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
|
||||
|
||||
def to_stderr(self, message):
|
||||
@ -475,7 +465,7 @@ class YoutubeIE(InfoExtractor):
|
||||
|
||||
username = None
|
||||
password = None
|
||||
downloader_params = self._downloader.get_params()
|
||||
downloader_params = self._downloader.params
|
||||
|
||||
# Attempt to use provided username and password or .netrc data
|
||||
if downloader_params.get('username', None) is not None:
|
||||
@ -549,7 +539,7 @@ class YoutubeIE(InfoExtractor):
|
||||
# Downloader parameters
|
||||
format_param = None
|
||||
if self._downloader is not None:
|
||||
params = self._downloader.get_params()
|
||||
params = self._downloader.params
|
||||
format_param = params.get('format', None)
|
||||
|
||||
# Extension
|
||||
@ -895,7 +885,7 @@ class PostProcessor(object):
|
||||
|
||||
def to_stdout(self, message):
|
||||
"""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
|
||||
|
||||
def to_stderr(self, message):
|
||||
|
Loading…
Reference in New Issue
Block a user