[zorg] r283587 - Replace urllib download with urllib2
Chris Matthews via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 7 13:15:29 PDT 2016
Author: cmatthews
Date: Fri Oct 7 15:15:29 2016
New Revision: 283587
URL: http://llvm.org/viewvc/llvm-project?rev=283587&view=rev
Log:
Replace urllib download with urllib2
urllib does not error on 404s etc, use urllib2 instead.
Modified:
zorg/trunk/zorg/jenkins/build.py
Modified: zorg/trunk/zorg/jenkins/build.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=283587&r1=283586&r2=283587&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/build.py (original)
+++ zorg/trunk/zorg/jenkins/build.py Fri Oct 7 15:15:29 2016
@@ -11,6 +11,7 @@ import shutil
import math
import re
import xml.etree.ElementTree as ET
+from urllib2 import urlopen, URLError, HTTPError
SERVER = "labmaster2.local"
@@ -639,6 +640,30 @@ def should_exclude(base_path, repo_path)
return False
+def http_download(url, dest):
+ """Safely download url to dest.
+
+ Print error and exit if download fails.
+ """
+ try:
+ print "GETting", url, "to", dest, "...",
+ f = urlopen(url)
+ # Open our local file for writing
+ with open(dest, "wb") as local_file:
+ local_file.write(f.read())
+
+ except HTTPError, e:
+ print
+ print "HTTP Error:", e.code, url
+ sys.exit(1)
+
+ except URLError, e:
+ print
+ print "URL Error:", e.reason, url
+ sys.exit(1)
+ print "done."
+
+
def rsync(conf, tree, repo, repos):
"""rsync from the checkout to the derived path"""
cmd = ["rsync", "-auvh", "--delete", "--exclude=.svn/"]
@@ -710,9 +735,7 @@ def fetch_compiler():
local_name = "host-compiler.tar.gz"
url = conf.host_compiler_url + "/" + conf.artifact_url
header("Fetching Compiler")
- print "Fetching:", url,
- urllib.urlretrieve (url, conf.workspace + "/" + local_name)
- print "done."
+ http_download(url, conf.workspace + "/" + local_name)
print "Decompressing..."
if os.path.exists(conf.workspace + "/host-compiler"):
shutil.rmtree(conf.workspace + "/host-compiler")
More information about the llvm-commits
mailing list