Browse Source

[common] add separate method for getting netrc ligin info

totalwebcasting
Remita Amine 8 years ago
parent
commit
2118fdd1a9
1 changed files with 20 additions and 10 deletions
  1. +20
    -10
      youtube_dl/extractor/common.py

+ 20
- 10
youtube_dl/extractor/common.py View File

@ -662,6 +662,24 @@ class InfoExtractor(object):
else: else:
return res return res
def _get_netrc_login_info(self, netrc_machine=None):
username = None
password = None
netrc_machine = netrc_machine or self._NETRC_MACHINE
if self._downloader.params.get('usenetrc', False):
try:
info = netrc.netrc().authenticators(netrc_machine)
if info is not None:
username = info[0]
password = info[2]
else:
raise netrc.NetrcParseError('No authenticators for %s' % netrc_machine)
except (IOError, netrc.NetrcParseError) as err:
self._downloader.report_warning('parsing .netrc: %s' % error_to_compat_str(err))
return (username, password)
def _get_login_info(self): def _get_login_info(self):
""" """
Get the login info as (username, password) Get the login info as (username, password)
@ -679,16 +697,8 @@ class InfoExtractor(object):
if downloader_params.get('username') is not None: if downloader_params.get('username') is not None:
username = downloader_params['username'] username = downloader_params['username']
password = downloader_params['password'] password = downloader_params['password']
elif downloader_params.get('usenetrc', False):
try:
info = netrc.netrc().authenticators(self._NETRC_MACHINE)
if info is not None:
username = info[0]
password = info[2]
else:
raise netrc.NetrcParseError('No authenticators for %s' % self._NETRC_MACHINE)
except (IOError, netrc.NetrcParseError) as err:
self._downloader.report_warning('parsing .netrc: %s' % error_to_compat_str(err))
else:
username, password = self._get_netrc_login_info()
return (username, password) return (username, password)


Loading…
Cancel
Save