diff options
| author | Remita Amine <remitamine@gmail.com> | 2016-08-14 11:48:13 +0100 | 
|---|---|---|
| committer | Remita Amine <remitamine@gmail.com> | 2016-08-14 11:55:28 +0100 | 
| commit | 2118fdd1a96ed7a904b53ed5aad50a203d0e0c70 (patch) | |
| tree | e1626f1e62e64c10f37c56888894b15eb6f99b82 | |
| parent | 320d597c21e7a0981f1dc9c4167fce53473ab488 (diff) | |
[common] add separate method for getting netrc ligin info
| -rw-r--r-- | youtube_dl/extractor/common.py | 30 | 
1 files changed, 20 insertions, 10 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index e47770c1d..9427ff449 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -662,6 +662,24 @@ class InfoExtractor(object):          else:              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):          """          Get the login info as (username, password) @@ -679,16 +697,8 @@ class InfoExtractor(object):          if downloader_params.get('username') is not None:              username = downloader_params['username']              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)  | 
