Use urlparse.urljoin for http path concatenation in case absolute http download locations are specified in the future.

This commit is contained in:
Jukka Jylänki
2013-09-30 13:43:33 +03:00
parent db9b9e02d1
commit 1c6adfdb68

22
emsdk
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
import sys, optparse, subprocess, urllib2, os, os.path, errno, zipfile, string, json, platform, shutil, tarfile
import sys, optparse, subprocess, urllib2, os, os.path, errno, zipfile, string, json, platform, shutil, tarfile, urlparse
# EMSDK_DEV is a developer mode flag, which, if true, the SDK is downloaded from a 'staging' online source,
# instead of the public source. New releases are first deployed to the staging source for testing, before
@@ -238,7 +238,7 @@ def git_clone_checkout_and_pull(url, dstpath, branch):
return success
def download_and_unzip(zipfile, dst):
success = download_file(emsdk_master_server + zipfile, 'zips/')
success = download_file(urlparse.urljoin(emsdk_master_server, zipfile), 'zips/')
if not success:
return False
if zipfile.endswith('.zip'):
@@ -496,7 +496,7 @@ class Tool:
elif url.endswith('zip') or url.endswith('.tar') or url.endswith('.gz'):
success = download_and_unzip(url, self.installation_path())
else:
success = download_file(emsdk_master_server + self.download_url(), self.installation_path())
success = download_file(urlparse.urljoin(emsdk_master_server, self.download_url()), self.installation_path())
if not success:
print "Installation failed!"
return False
@@ -566,16 +566,16 @@ def find_latest_sdk():
return sdks[-1] # Newest SDK is always at the end of the list.
def update_emsdk():
download_text_file(emsdk_master_server + 'emsdk_manifest.json', emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_manifest.json'), emsdk_path(), download_even_if_exists=True)
if not EMSDK_DEV:
download_text_file(emsdk_master_server + 'emsdk', emsdk_path(), download_even_if_exists=True)
download_text_file(emsdk_master_server + 'README.md', emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk'), emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'README.md'), emsdk_path(), download_even_if_exists=True)
if WINDOWS:
download_text_file(emsdk_master_server + 'emsdk_add_path.bat', emsdk_path(), download_even_if_exists=True)
download_text_file(emsdk_master_server + 'emcmdprompt.bat', emsdk_path(), download_even_if_exists=True)
download_text_file(emsdk_master_server + 'emsdk.bat', emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_add_path.bat'), emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emcmdprompt.bat'), emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk.bat'), emsdk_path(), download_even_if_exists=True)
else:
download_text_file(emsdk_master_server + 'emsdk_add_path', emsdk_path(), download_even_if_exists=True)
download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_add_path'), emsdk_path(), download_even_if_exists=True)
print 'Update complete.'
def load_sdk_manifest():
@@ -597,7 +597,7 @@ def load_sdk_manifest():
def install(): # TODO: Add parameter to choose which SDK to install.
download_and_unzip('clang_3.2_32bit.zip', 'clang/3.2_32bit/')
download_file(emsdk_master_server + 'node_0.10.17_32bit.exe', 'node/0.10.17_32bit/node.exe')
download_file(urlparse.urljoin(emsdk_master_server, 'node_0.10.17_32bit.exe'), 'node/0.10.17_32bit/node.exe')
download_and_unzip('python_2.7.5.1_32bit.zip', 'python/2.7.5.1_32bit/')
download_and_unzip('git_1.8.3.zip', 'git/1.8.3/')
#git_clone_checkout_and_pull(emscripten_git_repo, 'emscripten/', 'incoming')