diff options
Diffstat (limited to 'main.py')
| -rwxr-xr-x | main.py | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -22,6 +22,7 @@ if __name__ == '__main__': | |||
| 22 | del sys.argv[-1] | 22 | del sys.argv[-1] |
| 23 | del magic | 23 | del magic |
| 24 | 24 | ||
| 25 | import netrc | ||
| 25 | import optparse | 26 | import optparse |
| 26 | import os | 27 | import os |
| 27 | import re | 28 | import re |
| @@ -254,6 +255,17 @@ class _UserAgentHandler(urllib2.BaseHandler): | |||
| 254 | def init_http(): | 255 | def init_http(): |
| 255 | handlers = [_UserAgentHandler()] | 256 | handlers = [_UserAgentHandler()] |
| 256 | 257 | ||
| 258 | mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() | ||
| 259 | try: | ||
| 260 | n = netrc.netrc() | ||
| 261 | for host in n.hosts: | ||
| 262 | p = n.hosts[host] | ||
| 263 | mgr.add_password(None, 'http://%s/' % host, p[0], p[2]) | ||
| 264 | mgr.add_password(None, 'https://%s/' % host, p[0], p[2]) | ||
| 265 | except netrc.NetrcParseError: | ||
| 266 | pass | ||
| 267 | handlers.append(urllib2.HTTPBasicAuthHandler(mgr)) | ||
| 268 | |||
| 257 | if 'http_proxy' in os.environ: | 269 | if 'http_proxy' in os.environ: |
| 258 | url = os.environ['http_proxy'] | 270 | url = os.environ['http_proxy'] |
| 259 | handlers.append(urllib2.ProxyHandler({'http': url, 'https': url})) | 271 | handlers.append(urllib2.ProxyHandler({'http': url, 'https': url})) |
