1
0
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:
Ricardo Garcia 2009-03-04 22:12:33 +01:00
parent 76800042fd
commit d0a9affb46

View File

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