Rewrite update-frameworks script in python.
This commit is contained in:
parent
9bcb677012
commit
2f50102b50
4 changed files with 50 additions and 26 deletions
|
@ -7,6 +7,7 @@ import tarfile
|
|||
import tempfile
|
||||
import urllib2
|
||||
import os
|
||||
import zipfile
|
||||
|
||||
|
||||
def tempdir(prefix=''):
|
||||
|
@ -37,9 +38,14 @@ def download(text, url, path):
|
|||
print
|
||||
|
||||
|
||||
def extract_tarball(tarball_path, member, path):
|
||||
def extract_tarball(tarball_path, member, destination):
|
||||
with tarfile.open(tarball_path) as tarball:
|
||||
tarball.extract(member, path)
|
||||
tarball.extract(member, destination)
|
||||
|
||||
|
||||
def extract_zip(zip_path, destination):
|
||||
with zipfile.ZipFile(zip_path) as z:
|
||||
z.extractall(destination)
|
||||
|
||||
|
||||
def safe_unlink(path):
|
||||
|
|
|
@ -4,7 +4,7 @@ set -e
|
|||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
./script/update-frameworks
|
||||
./script/update-frameworks.py
|
||||
./script/update-node.py --version v0.10.9
|
||||
|
||||
gyp -f ninja --depth . atom.gyp \
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
cd "$(dirname $0)/.."
|
||||
|
||||
. script/lib/polite-curl
|
||||
|
||||
[ -d frameworks ] || mkdir frameworks
|
||||
cd frameworks
|
||||
|
||||
FRAMEWORKS_URL='https://gh-contractor-zcbenz.s3.amazonaws.com/frameworks'
|
||||
|
||||
trap 'rm -f *.zip' EXIT
|
||||
|
||||
function download_and_unzip() {
|
||||
if ! [ -d $1.framework ]; then
|
||||
echo "Downloading $1..."
|
||||
polite_curl "$FRAMEWORKS_URL/$1.framework.zip" > $1.framework.zip
|
||||
unzip $1.framework.zip
|
||||
fi
|
||||
}
|
||||
|
||||
download_and_unzip Quincy
|
||||
download_and_unzip Sparkle
|
41
script/update-frameworks.py
Executable file
41
script/update-frameworks.py
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
from lib.util import *
|
||||
|
||||
|
||||
SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
|
||||
FRAMEWORKS_URL='https://gh-contractor-zcbenz.s3.amazonaws.com/frameworks'
|
||||
|
||||
|
||||
def main():
|
||||
os.chdir(SOURCE_ROOT)
|
||||
safe_mkdir('frameworks')
|
||||
download_and_unzip('Quincy')
|
||||
download_and_unzip('Sparkle')
|
||||
|
||||
|
||||
def download_and_unzip(framework):
|
||||
zip_path = download_framework(framework)
|
||||
if zip_path:
|
||||
extract_zip(zip_path, 'frameworks')
|
||||
|
||||
|
||||
def download_framework(framework):
|
||||
framework_path = os.path.join('frameworks', framework) + '.framework'
|
||||
if os.path.exists(framework_path):
|
||||
return
|
||||
|
||||
filename = framework + '.framework.zip'
|
||||
url = FRAMEWORKS_URL + '/' + filename
|
||||
download_dir = tempdir(prefix='atom-shell-')
|
||||
path = os.path.join(download_dir, filename)
|
||||
|
||||
download('Download ' + framework, url, path)
|
||||
return path
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
Loading…
Reference in a new issue