Use urlparse.urljoin for http path concatenation in case absolute http download locations are specified in the future.
This commit is contained in:
22
emsdk
22
emsdk
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user