|
|
|
@ -438,6 +438,12 @@ def main():
|
|
|
|
|
if not s3_url and 'S3_URL' in os.environ:
|
|
|
|
|
s3_url = os.environ['S3_URL']
|
|
|
|
|
|
|
|
|
|
# bucket names with .'s in them need to use the calling_format option,
|
|
|
|
|
# otherwise the connection will fail. See https://github.com/boto/boto/issues/2836
|
|
|
|
|
# for more details.
|
|
|
|
|
if '.' in bucket:
|
|
|
|
|
aws_connect_kwargs['calling_format'] = OrdinaryCallingFormat()
|
|
|
|
|
|
|
|
|
|
# Look at s3_url and tweak connection settings
|
|
|
|
|
# if connecting to Walrus or fakes3
|
|
|
|
|
try:
|
|
|
|
@ -454,7 +460,7 @@ def main():
|
|
|
|
|
walrus = urlparse.urlparse(s3_url).hostname
|
|
|
|
|
s3 = boto.connect_walrus(walrus, **aws_connect_kwargs)
|
|
|
|
|
else:
|
|
|
|
|
s3 = boto.s3.connect_to_region(location, is_secure=True, calling_format=OrdinaryCallingFormat(), **aws_connect_kwargs)
|
|
|
|
|
s3 = boto.s3.connect_to_region(location, is_secure=True, **aws_connect_kwargs)
|
|
|
|
|
# use this as fallback because connect_to_region seems to fail in boto + non 'classic' aws accounts in some cases
|
|
|
|
|
if s3 is None:
|
|
|
|
|
s3 = boto.connect_s3(**aws_connect_kwargs)
|
|
|
|
|