diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2013-07-08 01:15:19 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2013-07-08 01:15:19 +0200 |
commit | d93e4dcbb7fb68666528e251623b90d832d9cffc (patch) | |
tree | 91a26ec50b8fbf16709b1ba97fbdc597335b9e44 /youtube_dl/extractor/common.py | |
parent | 73e79f2a1be3179edd8eebf4b7b6d56fe953a4a8 (diff) | |
parent | fc79158de2779a9f2d3fb16ddfb2878b82693b79 (diff) |
Merge branch 'master' of github.com:rg3/youtube-dl
Diffstat (limited to 'youtube_dl/extractor/common.py')
-rw-r--r-- | youtube_dl/extractor/common.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 8db72ba7a..1d98222ce 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -3,6 +3,7 @@ import os import re import socket import sys +import netrc from ..utils import ( compat_http_client, @@ -163,6 +164,10 @@ class InfoExtractor(object): """Report attempt to confirm age.""" self.to_screen(u'Confirming age') + def report_login(self): + """Report attempt to log in.""" + self.to_screen(u'Logging in') + #Methods for following #608 #They set the correct value of the '_type' key def video_result(self, video_info): @@ -227,6 +232,36 @@ class InfoExtractor(object): else: return res + def _get_login_info(self): + """ + Get the the login info as (username, password) + It will look in the netrc file using the _NETRC_MACHINE value + If there's no info available, return (None, None) + """ + if self._downloader is None: + return (None, None) + + username = None + password = None + downloader_params = self._downloader.params + + # Attempt to use provided username and password or .netrc data + if downloader_params.get('username', None) 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(u'parsing .netrc: %s' % compat_str(err)) + + return (username, password) + class SearchInfoExtractor(InfoExtractor): """ Base class for paged search queries extractors. |