8 from lib.config import s3_config
9 from lib.util import download, rm_rf, s3put
12 DIST_URL = 'https://atom.io/download/electron/'
18 url = DIST_URL + args.version + '/'
19 directory, files = download_files(url, get_files_list(args.version))
21 create_checksum('sha1', directory, 'SHASUMS.txt', files),
22 create_checksum('sha256', directory, 'SHASUMS256.txt', files)
25 bucket, access_key, secret_key = s3_config()
26 s3put(bucket, access_key, secret_key, directory,
27 'atom-shell/dist/{0}'.format(args.version), checksums)
33 parser = argparse.ArgumentParser(description='upload sumsha file')
34 parser.add_argument('-v', '--version', help='Specify the version',
36 return parser.parse_args()
39 def get_files_list(version):
41 'node-{0}.tar.gz'.format(version),
42 'iojs-{0}.tar.gz'.format(version),
43 'iojs-{0}-headers.tar.gz'.format(version),
51 def download_files(url, files):
52 directory = tempfile.mkdtemp(prefix='electron-tmp')
54 download(f, url + f, os.path.join(directory, f))
59 def create_checksum(algorithm, directory, filename, files):
62 h = hashlib.new(algorithm)
63 with open(path, 'r') as f:
65 lines.append(h.hexdigest() + ' ' + os.path.relpath(path, directory))
67 checksum_file = os.path.join(directory, filename)
68 with open(checksum_file, 'w') as f:
69 f.write('\n'.join(lines) + '\n')
73 if __name__ == '__main__':