#!/usr/bin/env python3
import argparse
import os
import os.path
import sys
import urllib.request
import tinys3
def main():
parser = argparse.ArgumentParser(description='S3 File Uploader')
parser.add_argument(
'--s3-bucket',
help=('S3 bucket name (defaults to $S3_UPLOAD_BUCKET)'),
default=os.environ.get('S3_UPLOAD_BUCKET'))
parser.add_argument(
'--s3-region',
help=('S3 region (defaults to $S3_UPLOAD_REGION)'),
default=os.environ.get('S3_UPLOAD_REGION'))
parser.add_argument(
'--s3-username',
help=('S3 username (defaults to $S3_UPLOAD_USERNAME)'),
default=os.environ.get('S3_UPLOAD_USERNAME'))
parser.add_argument(
'--s3-key',
help=('S3 access key (defaults to $S3_UPLOAD_ACCESSKEY)'),
default=os.environ.get('S3_UPLOAD_ACCESSKEY'))
parser.add_argument(
'--s3-secret',
help=('S3 secret (defaults to $S3_UPLOAD_SECRET)'),
default=os.environ.get('S3_UPLOAD_SECRET'))
parser.add_argument(
'--destdir',
help='Destination directory.')
parser.add_argument(
'package', metavar='PACKAGE',
help='Package name and version to download.')
args = parser.parse_args()
if args.s3_region:
endpoint = 's3-{}.amazonaws.com'.format(args.s3_region.lower())
else:
endpoint = 's3.amazonaws.com'
conn = tinys3.Connection(
access_key=args.s3_key,
secret_key=args.s3_secret,
default_bucket=args.s3_bucket,
tls=True,
endpoint=endpoint,
)
files = []
for entry in conn.list(args.package):
files.append(entry['key'])
destdir = args.destdir or os.getpwd()
for file in files:
print('Downloading {}...'.format(file))
url = 'https://{}/{}/{}'.format(endpoint, args.s3_bucket, file)
target = os.path.join(destdir, file)
urllib.request.urlretrieve(url, target)
return 0
if __name__ == '__main__':
sys.exit(main())
60'>root/etc/teams