Use .py suffix for python scripts, we're following chromium.
This commit is contained in:
parent
9983e7c0ba
commit
993c7ad650
2 changed files with 1 additions and 1 deletions
79
script/update-node.py
Executable file
79
script/update-node.py
Executable file
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import errno
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
|
||||
from lib.util import *
|
||||
|
||||
|
||||
SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
|
||||
NODE_VERSION = 'v0.10.9'
|
||||
NODE_DIST_URL = 'https://gh-contractor-zcbenz.s3.amazonaws.com/node/dist'
|
||||
IS_POSIX = (sys.platform != 'win32') and (sys.platform != 'cygwin')
|
||||
|
||||
|
||||
def main():
|
||||
os.chdir(SOURCE_ROOT)
|
||||
|
||||
args = parse_args()
|
||||
if not node_needs_update(args.version):
|
||||
return 0
|
||||
|
||||
url, filename = get_node_url(args.url, args.version)
|
||||
directory = download('Download node', url, filename)
|
||||
|
||||
if IS_POSIX:
|
||||
root_name = 'node-{0}-{1}-x86'.format(args.version, sys.platform)
|
||||
member = os.path.join(root_name, 'bin', 'node')
|
||||
extract_tarball(os.path.join(directory, filename), member, directory)
|
||||
node_path = os.path.join(directory, member)
|
||||
|
||||
copy_node(node_path)
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description='Update node binary')
|
||||
parser.add_argument('--version',
|
||||
help='Version of node',
|
||||
default=NODE_VERSION,
|
||||
required=False)
|
||||
parser.add_argument('--url',
|
||||
help='URL to download node',
|
||||
default=NODE_DIST_URL,
|
||||
required=False)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def node_needs_update(target_version):
|
||||
try:
|
||||
node = os.path.join('node', 'node')
|
||||
if not IS_POSIX:
|
||||
node += '.exe'
|
||||
version = subprocess.check_output([node, '--version'])
|
||||
return version.strip() != target_version
|
||||
except OSError as e:
|
||||
if e.errno != errno.ENOENT:
|
||||
raise
|
||||
return True
|
||||
|
||||
|
||||
def get_node_url(base_url, target_version):
|
||||
if IS_POSIX:
|
||||
distname = 'node-{0}-{1}-x86.tar.gz'.format(target_version, sys.platform)
|
||||
else:
|
||||
distname = 'node-{0}.exe'.format(target_version)
|
||||
return '{0}/{1}'.format(base_url, distname), distname
|
||||
|
||||
|
||||
def copy_node(node_path):
|
||||
safe_mkdir('node')
|
||||
node = os.path.join('node', 'node')
|
||||
safe_unlink(node)
|
||||
os.rename(node_path, node)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
Loading…
Add table
Add a link
Reference in a new issue