Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: utils.py

Issue 29330389: Issue 2956 - Ensure the correct version of jsshell is present (Closed)
Patch Set: Base directory name on jsshell version, avoid checking which version the binary outputs Created Nov. 23, 2015, 12:39 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « .hgignore ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils.py
diff --git a/utils.py b/utils.py
index ac3014ae675e7cf67fd33965c7f4f5a2eb13195b..34cadb7a91ab42d3751102bd8a7d2b2927c28f12 100644
--- a/utils.py
+++ b/utils.py
@@ -11,28 +11,35 @@ import sys
import urllib
import zipfile
+JSSHELL_VERSION = "31.5.0"
+JSSHELL_URL = ("https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly"
+ "/2015/02/2015-02-25-00-22-19-mozilla-esr31/jsshell-%s.zip")
+
+JSSHELL_SUPPORTED_PLATFORMS = {
+ "win32": "win32",
+ "linux2": {
+ "i686": "linux-i686",
+ "x86_64": "linux-x86_64"
+ },
+ "darwin": "mac"
+}
+
def ensureJSShell():
baseDir = os.path.dirname(__file__)
- shell_dir = os.path.join(baseDir, 'mozilla')
+ shell_dir = os.path.join(baseDir, "jsshell-%s" % JSSHELL_VERSION)
Sebastian Noack 2015/11/23 12:53:58 With the new approach, hard-coding the version is
kzar 2015/11/23 13:20:21 Hmm I see what you mean, but on the other hand hav
Sebastian Noack 2015/11/23 13:27:48 How about following? JSSHELL_DIR = "mozilla-esr31
kzar 2015/11/23 13:38:12 That's better but still kind of sucks, the directo
Sebastian Noack 2015/11/23 13:51:16 Then include the timestamp if that is your concern
Sebastian Noack 2015/11/23 13:51:16 Then include the timestamp if that is your concern
kzar 2015/11/23 14:01:31 Fine, Done.
+
if not os.path.exists(shell_dir):
os.makedirs(shell_dir)
if sys.platform == 'win32':
path = os.path.join(shell_dir, 'js.exe')
else:
path = os.path.join(shell_dir, 'js')
+
if os.path.exists(path):
return path
- supported_platforms = {
- 'win32': 'win32',
- 'linux2': {
- 'i686': 'linux-i686',
- 'x86_64': 'linux-x86_64'
- },
- 'darwin': 'mac',
- }
try:
- build = supported_platforms[sys.platform]
+ build = JSSHELL_SUPPORTED_PLATFORMS[sys.platform]
if isinstance(build, dict):
build = build[platform.machine()]
except KeyError:
@@ -40,8 +47,7 @@ def ensureJSShell():
sys.platform, platform.machine()
))
- download_url = 'https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2015/02/2015-02-25-00-22-19-mozilla-esr31/jsshell-%s.zip' % build
- data = StringIO(urllib.urlopen(download_url).read())
+ data = StringIO(urllib.urlopen(JSSHELL_URL % build).read())
Sebastian Noack 2015/11/23 12:53:58 While changing this code anyway, mind closing the
kzar 2015/11/23 13:20:21 Done.
zip = zipfile.ZipFile(data)
zip.extractall(shell_dir)
zip.close()
« no previous file with comments | « .hgignore ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld