4 '''Download URL using proxy setup from environment (ATLAS_PROXIES, fallback to FRONTIER_SERVER)'''
7 filename = os.path.basename(url)
9 if 'http_proxy' in os.environ:
10 proxyList.append( os.environ[
'http_proxy'] )
11 elif 'ATLAS_PROXIES' in os.environ:
12 proxyList.extend( os.environ[
'ATLAS_PROXIES'].
split(
',') )
13 elif 'FRONTIER_SERVER' in os.environ:
14 frontierConfig = [ conf.lstrip(
'(')
for conf
in os.environ[
'FRONTIER_SERVER'].
split(
')') ]
15 for conf
in frontierConfig:
16 if conf.startswith(
'proxyurl=http://'):
17 proxyList.append(conf.split(
'proxyurl=http://')[1])
18 proxyList.append(
None)
19 msg =
"Found proxy list %s\n" % proxyList
20 for proxy
in proxyList:
22 os.environ[
'http_proxy'] = proxy
23 elif 'http_proxy' in os.environ:
24 del os.environ[
'http_proxy']
25 cmd =
"wget --waitretry=5 --tries=3 --connect-timeout=20 --read-timeout=120 -O %s %s" % (filename, url)
26 msg +=
"Trying to retrieve '%s' using proxy '%s' via: %s\n" % (url, proxy, cmd)
28 status, output = subprocess.getstatusoutput(cmd)
30 msg +=
"Downloaded %s using proxy '%s'\n" % (url, proxy)
33 msg +=
"Failed to get '%s' via proxy '%s'. exit status=%d, output='%s'\n" % (url, proxy, status, output)
35 msg +=
"All download attempts failed"