| Index: utils.py |
| diff --git a/utils.py b/utils.py |
| index ac3014ae675e7cf67fd33965c7f4f5a2eb13195b..4b11c3cc46b4c520e67b4dcb0e82aca81713c5dd 100644 |
| --- a/utils.py |
| +++ b/utils.py |
| @@ -7,6 +7,8 @@ |
| import os |
| import platform |
| from StringIO import StringIO |
| +import shutil |
| +import subprocess |
| import sys |
| import urllib |
| import zipfile |
| @@ -14,14 +16,27 @@ import zipfile |
| def ensureJSShell(): |
| baseDir = os.path.dirname(__file__) |
| shell_dir = os.path.join(baseDir, 'mozilla') |
| + |
| 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 |
| + # Return the path if jsshell is present and its version is correct |
| + try: |
| + version = [s for s in subprocess.check_output([path, "--help"]).split("\n") |
|
Sebastian Noack
2015/11/18 19:53:37
This can be simplified:
m = re.search(r"^Versio
kzar
2015/11/19 10:56:41
Done.
|
| + if s.startswith("Version")][0].split()[1] |
| + except (IndexError, subprocess.CalledProcessError): |
| + pass |
| + else: |
| + if version == "JavaScript-C31.5.0esrpre": |
|
sergei
2015/11/18 15:30:06
Nit: I don't know the convention for buildtools bu
sergei
2015/11/18 15:30:06
Nit: In addition it seems better to show some warn
kzar
2015/11/18 15:40:49
Well I would have separated the version string fro
sergei
2015/11/18 15:50:18
I have missed it, in this case it's totally fine f
|
| + return path |
| + # Otherwise remove the old / faulty version, we'll re-download |
| + shutil.rmtree(shell_dir) |
| + os.makedirs(shell_dir) |
| supported_platforms = { |
| 'win32': 'win32', |