Python netrc.netrc() Examples
The following are 30
code examples of netrc.netrc().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
netrc
, or try the search function
.
Example #1
Source File: web.py From pystash with MIT License | 6 votes |
def login(self, login, password): if self.check_login() is not None: raise AlreadyLoggedIn m = hashlib.new('md5') m.update(password) r = self.get_token(login, password) #TODO check if r is an error (remove / from stash host for example) if 'token' in r: # todo: maybe we don't need this two lines? self.username = login self.token = r['token'] with open(os.path.join(os.environ['HOME'], ".netrc"), "a") as f: f.write("machine " + STASH_HOST + " login " + login + " password " + str(r['token']) + "\n") f.close() else: # todo: do something pass if 'error' in r: raise Exception(r['error']) return True
Example #2
Source File: web.py From pystash with MIT License | 6 votes |
def check_login(self): """ Check if user logged in. If True - return login and token, else returns None """ netrc_path = os.path.join(os.path.expanduser('~'), '.netrc') if not os.path.exists(netrc_path): open(netrc_path, 'w').close() info = netrc.netrc() login, account, password = info.authenticators(STASH_HOST) or (None, None, None) if password and login: if self.username is None or self.token is None: self.username = login # todo: why token is equal to password? self.token = password return login, password return None
Example #3
Source File: common.py From tvalacarta with GNU General Public License v3.0 | 6 votes |
def _get_login_info(self, username_option='username', password_option='password', netrc_machine=None): """ Get the login info as (username, password) First look for the manually specified credentials using username_option and password_option as keys in params dictionary. If no such credentials available look in the netrc file using the netrc_machine or _NETRC_MACHINE value. If there's no info available, return (None, None) """ if self._downloader is None: return (None, None) downloader_params = self._downloader.params # Attempt to use provided username and password or .netrc data if downloader_params.get(username_option) is not None: username = downloader_params[username_option] password = downloader_params[password_option] else: username, password = self._get_netrc_login_info(netrc_machine) return username, password
Example #4
Source File: common.py From tvalacarta with GNU General Public License v3.0 | 6 votes |
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
Example #5
Source File: nsidc_icesat2_sync.py From read-ICESat-2 with MIT License | 6 votes |
def usage(): print('\nHelp: {0}'.format(os.path.basename(sys.argv[0]))) print(' -U X, --user=X\t\tUsername for NASA Earthdata Login') print(' -N X, --netrc=X\tPath to .netrc file for authentication') print(' -D X, --directory=X\tWorking data directory') print(' -Y X, --year=X\t\tYears to sync separated by commas') print(' -S X, --subdirectory=X\tSubdirectories to sync separated by commas') print(' --release=X\t\tICESat-2 data release to sync') print(' --version=X\t\tICESat-2 data version to sync') print(' --granule=X\t\tICESat-2 granule regions to sync') print(' --track=X\t\tICESat-2 reference ground tracks to sync') print(' --auxiliary\t\tSync ICESat-2 auxiliary files for each HDF5 file') print(' -F, --flatten\t\tDo not create subdirectories') print(' -P X, --np=X\t\tNumber of processes to use in file downloads') print(' -M X, --mode=X\t\tPermission mode of directories and files synced') print(' -L, --list\t\tOnly print files that are to be transferred') print(' -C, --clobber\t\tOverwrite existing data in transfer') print(' -l, --log\t\tOutput log file') today = time.strftime('%Y-%m-%d',time.localtime()) LOGFILE = 'NSIDC_IceSat-2_sync_{0}.log'.format(today) print(' Log file format: {0}\n'.format(LOGFILE)) #-- Main program that calls nsidc_icesat2_sync()
Example #6
Source File: test_netrc.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_security(self): # This test is incomplete since we are normally not run as root and # therefore can't test the file ownership being wrong. d = test_support.TESTFN os.mkdir(d) self.addCleanup(test_support.rmtree, d) fn = os.path.join(d, '.netrc') with open(fn, 'wt') as f: f.write("""\ machine foo.domain.com login bar password pass default login foo password pass """) with test_support.EnvironmentVarGuard() as environ: environ.set('HOME', d) os.chmod(fn, 0600) nrc = netrc.netrc() self.assertEqual(nrc.hosts['foo.domain.com'], ('bar', None, 'pass')) os.chmod(fn, 0o622) self.assertRaises(netrc.NetrcParseError, netrc.netrc)
Example #7
Source File: nsidc_icesat2_zarr.py From read-ICESat-2 with MIT License | 6 votes |
def usage(): print('\nHelp: {0}'.format(os.path.basename(sys.argv[0]))) print(' -U X, --user=X\t\tUsername for NASA Earthdata Login') print(' -N X, --netrc=X\tPath to .netrc file for authentication') print(' -D X, --directory=X\tWorking data directory') print(' -Y X, --year=X\t\tYears to sync separated by commas') print(' -S X, --subdirectory=X\tSubdirectories to sync separated by commas') print(' --release=X\t\tICESat-2 data release to sync') print(' --version=X\t\tICESat-2 data version to sync') print(' --granule=X\t\tICESat-2 granule regions to sync') print(' --track=X\t\tICESat-2 reference ground tracks to sync') print(' --auxiliary\t\tSync ICESat-2 auxiliary files for each HDF5 file') print(' -F, --flatten\t\tDo not create subdirectories') print(' -P X, --np=X\t\tNumber of processes to use in file downloads') print(' -M X, --mode=X\t\tPermission mode of directories and files synced') print(' -L, --list\t\tOnly print files that are to be transferred') print(' -C, --clobber\t\tOverwrite existing data in transfer') print(' -l, --log\t\tOutput log file') today = time.strftime('%Y-%m-%d',time.localtime()) LOGFILE = 'NSIDC_IceSat-2_sync_{0}.log'.format(today) print(' Log file format: {0}\n'.format(LOGFILE)) #-- Main program that calls nsidc_icesat2_zarr()
Example #8
Source File: nsidc_icesat2_associated.py From read-ICESat-2 with MIT License | 5 votes |
def usage(): print('\nHelp: {0}'.format(os.path.basename(sys.argv[0]))) print(' -U X, --user=X\t\tUsername for NASA Earthdata Login') print(' -N X, --netrc=X\t\tPath to .netrc file for authentication') print(' -D X, --directory=X\tOutput data directory') print(' -P X, --product=X\tICESat-2 product to download') print(' --auxiliary\t\tSync ICESat-2 auxiliary files for each HDF5 file') print(' -M X, --mode=X\t\tPermission mode of files downloaded\n') #-- Main program that calls nsidc_icesat2_associated()
Example #9
Source File: test_netrc.py From ironpython2 with Apache License 2.0 | 5 votes |
def make_nrc(self, test_data, cleanup=True): test_data = textwrap.dedent(test_data) mode = 'w' if sys.platform != 'cygwin': mode += 't' with open(temp_filename, mode) as fp: fp.write(test_data) if cleanup: self.addCleanup(os.unlink, temp_filename) return netrc.netrc(temp_filename)
Example #10
Source File: netrc_credentials.py From oggm with BSD 3-Clause "New" or "Revised" License | 5 votes |
def cli(): """ command line interface to store different NETRC credentials call via 'oggm_netrc_credentials' """ print('This will store login credentials in a local .netrc file.\n' 'Enter the number or the service you want to add credentials for, ' 'this might override existing credentials in the .netrc file!\n\n' '[0] urs.earthdata.nasa.gov, ASTER DEM\n' '[1] geoservice.dlr.de, TanDEM-X\n' '[2] spacedata.copernicus.eu, Copernicus DEM Glo-90\n\n') nr = input("Number: ") if nr == '0': key = 'urs.earthdata.nasa.gov' testurl = ('https://e4ftl01.cr.usgs.gov//ASTER_B/ASTT/ASTGTM.003/' + '2000.03.01/ASTGTMV003_S09W158.zip') elif nr == '1': key = 'geoservice.dlr.de' testurl = ("https://download.geoservice.dlr.de" + "/TDM90/files/N57/E000/TDM1_DEM__30_N57E006.zip") elif nr == '2': key = 'spacedata.copernicus.eu' testurl = 'ftps://cdsdata.copernicus.eu:990' else: print('Not a valid number, aborting.') sys.exit(-1) read_credentials(key, testurl)
Example #11
Source File: common.py From tvalacarta with GNU General Public License v3.0 | 5 votes |
def raise_login_required(msg='This video is only available for registered users'): raise ExtractorError( '%s. Use --username and --password or --netrc to provide account credentials.' % msg, expected=True)
Example #12
Source File: dax_settings.py From dax with MIT License | 5 votes |
def get_hosts(self): """ Rerutn list of hosts from netrc file.""" return list(self.netrc_obj.hosts.keys())
Example #13
Source File: test_netrc.py From oss-ftp with MIT License | 5 votes |
def make_nrc(self, test_data): test_data = textwrap.dedent(test_data) mode = 'w' if sys.platform != 'cygwin': mode += 't' with open(temp_filename, mode) as fp: fp.write(test_data) self.addCleanup(os.unlink, temp_filename) return netrc.netrc(temp_filename)
Example #14
Source File: nicovideo.py From acmpv with Do What The F*ck You Want To Public License | 5 votes |
def nicovideo_download(url, output_dir='.', merge=True, info_only=False, **kwargs): import ssl ssl_context = request.HTTPSHandler( context=ssl.SSLContext(ssl.PROTOCOL_TLSv1)) cookie_handler = request.HTTPCookieProcessor() opener = request.build_opener(ssl_context, cookie_handler) request.install_opener(opener) import netrc, getpass try: info = netrc.netrc().authenticators('nicovideo') except: info = None if info is None: user = input("User: ") password = getpass.getpass("Password: ") else: user, password = info[0], info[2] print("Logging in...") nicovideo_login(user, password) html = get_html(url) # necessary! title = unicodize(r1(r'<span class="videoHeaderTitle"[^>]*>([^<]+)</span>', html)) vid = url.split('/')[-1].split('?')[0] api_html = get_html('http://www.nicovideo.jp/api/getflv?v=%s' % vid) real_url = parse.unquote(r1(r'url=([^&]+)&', api_html)) type, ext, size = url_info(real_url) print_info(site_info, title, type, size) if not info_only: download_urls([real_url], title, ext, size, output_dir, merge = merge)
Example #15
Source File: test_netrc.py From BinderFilter with MIT License | 5 votes |
def make_nrc(self, test_data): test_data = textwrap.dedent(test_data) mode = 'w' if sys.platform != 'cygwin': mode += 't' with open(temp_filename, mode) as fp: fp.write(test_data) return netrc.netrc(temp_filename)
Example #16
Source File: nicovideo.py From acmpv with Do What The F*ck You Want To Public License | 5 votes |
def nicovideo_download(url, output_dir='.', merge=True, info_only=False, **kwargs): import ssl ssl_context = request.HTTPSHandler( context=ssl.SSLContext(ssl.PROTOCOL_TLSv1)) cookie_handler = request.HTTPCookieProcessor() opener = request.build_opener(ssl_context, cookie_handler) request.install_opener(opener) import netrc, getpass try: info = netrc.netrc().authenticators('nicovideo') except: info = None if info is None: user = input("User: ") password = getpass.getpass("Password: ") else: user, password = info[0], info[2] print("Logging in...") nicovideo_login(user, password) html = get_html(url) # necessary! title = unicodize(r1(r'<span class="videoHeaderTitle"[^>]*>([^<]+)</span>', html)) vid = url.split('/')[-1].split('?')[0] api_html = get_html('http://www.nicovideo.jp/api/getflv?v=%s' % vid) real_url = parse.unquote(r1(r'url=([^&]+)&', api_html)) type, ext, size = url_info(real_url) print_info(site_info, title, type, size) if not info_only: download_urls([real_url], title, ext, size, output_dir, merge = merge)
Example #17
Source File: dax_settings.py From dax with MIT License | 5 votes |
def __init__(self): self.netrc_file = os.path.join(os.path.expanduser('~'), '.netrc') if not os.path.exists(self.netrc_file): open(self.netrc_file, 'a').close() # Setting mode for the file: os.chmod(self.netrc_file, stat.S_IWUSR | stat.S_IRUSR) self.is_secured() self.netrc_obj = netrc.netrc(self.netrc_file)
Example #18
Source File: utils.py From anpr with Creative Commons Attribution 4.0 International | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #19
Source File: utils.py From pipenv with MIT License | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #20
Source File: utils.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/kennethreitz/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #21
Source File: utils.py From crunchy-xml-decoder with GNU General Public License v2.0 | 4 votes |
def get_netrc_auth(url): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/kennethreitz/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc host = ri.netloc.split(':')[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth pass # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #22
Source File: nntplib.py From oss-ftp with MIT License | 4 votes |
def __init__(self, host, port=NNTP_PORT, user=None, password=None, readermode=None, usenetrc=True): """Initialize an instance. Arguments: - host: hostname to connect to - port: port to connect to (default the standard NNTP port) - user: username to authenticate with - password: password to use with username - readermode: if true, send 'mode reader' command after connecting. readermode is sometimes necessary if you are connecting to an NNTP server on the local machine and intend to call reader-specific commands, such as `group'. If you get unexpected NNTPPermanentErrors, you might need to set readermode. """ self.host = host self.port = port self.sock = socket.create_connection((host, port)) self.file = self.sock.makefile('rb') self.debugging = 0 self.welcome = self.getresp() # 'mode reader' is sometimes necessary to enable 'reader' mode. # However, the order in which 'mode reader' and 'authinfo' need to # arrive differs between some NNTP servers. Try to send # 'mode reader', and if it fails with an authorization failed # error, try again after sending authinfo. readermode_afterauth = 0 if readermode: try: self.welcome = self.shortcmd('mode reader') except NNTPPermanentError: # error 500, probably 'not implemented' pass except NNTPTemporaryError, e: if user and e.response[:3] == '480': # Need authorization before 'mode reader' readermode_afterauth = 1 else: raise # If no login/password was specified, try to get them from ~/.netrc # Presume that if .netc has an entry, NNRP authentication is required.
Example #23
Source File: utils.py From oss-ftp with MIT License | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/kennethreitz/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc host = ri.netloc.split(':')[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #24
Source File: utils.py From Mastering-Elasticsearch-7.0 with MIT License | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #25
Source File: utils.py From satori with Apache License 2.0 | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/kennethreitz/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #26
Source File: utils.py From Mastering-Elasticsearch-7.0 with MIT License | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #27
Source File: utils.py From pex with Apache License 2.0 | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #28
Source File: utils.py From deepWordBug with Apache License 2.0 | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #29
Source File: utils.py From deepWordBug with Apache License 2.0 | 4 votes |
def get_netrc_auth(url, raise_errors=False): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See https://bugs.python.org/issue20164 & # https://github.com/requests/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc. This weird `if...encode`` dance is # used for Python 3.2, which doesn't support unicode literals. splitstr = b':' if isinstance(url, str): splitstr = splitstr.decode('ascii') host = ri.netloc.split(splitstr)[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth unless explicitly asked to raise errors. if raise_errors: raise # AppEngine hackiness. except (ImportError, AttributeError): pass
Example #30
Source File: utils.py From deepWordBug with Apache License 2.0 | 4 votes |
def get_netrc_auth(url): """Returns the Requests tuple auth for a given url from netrc.""" try: from netrc import netrc, NetrcParseError netrc_path = None for f in NETRC_FILES: try: loc = os.path.expanduser('~/{0}'.format(f)) except KeyError: # os.path.expanduser can fail when $HOME is undefined and # getpwuid fails. See http://bugs.python.org/issue20164 & # https://github.com/kennethreitz/requests/issues/1846 return if os.path.exists(loc): netrc_path = loc break # Abort early if there isn't one. if netrc_path is None: return ri = urlparse(url) # Strip port numbers from netloc host = ri.netloc.split(':')[0] try: _netrc = netrc(netrc_path).authenticators(host) if _netrc: # Return with login / password login_i = (0 if _netrc[0] else 1) return (_netrc[login_i], _netrc[2]) except (NetrcParseError, IOError): # If there was a parsing error or a permissions issue reading the file, # we'll just skip netrc auth pass # AppEngine hackiness. except (ImportError, AttributeError): pass