merge-electron-checksums.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python
  2. # Download individual checksum files for Electron zip files from S3,
  3. # concatenate them, and upload to GitHub.
  4. from __future__ import print_function
  5. import argparse
  6. import sys
  7. from lib.config import s3_config
  8. from lib.util import boto_path_dirs
  9. sys.path.extend(boto_path_dirs())
  10. from boto.s3.connection import S3Connection
  11. def main():
  12. args = parse_args()
  13. bucket_name, access_key, secret_key = s3_config()
  14. s3 = S3Connection(access_key, secret_key)
  15. bucket = s3.get_bucket(bucket_name)
  16. if bucket is None:
  17. print('S3 bucket "{}" does not exist!'.format(bucket_name), file=sys.stderr)
  18. return 1
  19. prefix = 'atom-shell/tmp/{0}/'.format(args.version)
  20. shasums = [s3_object.get_contents_as_string().strip()
  21. for s3_object in bucket.list(prefix, delimiter='/')
  22. if s3_object.key.endswith('.sha256sum')]
  23. print('\n'.join(shasums))
  24. return 0
  25. def parse_args():
  26. parser = argparse.ArgumentParser(description='Upload SHASUMS files to GitHub')
  27. parser.add_argument('-v', '--version', help='Specify the version',
  28. required=True)
  29. return parser.parse_args()
  30. if __name__ == '__main__':
  31. sys.exit(main())