Commit Graph

331 Commits

Author SHA1 Message Date
Diego Argueta
f15f006f78 Hack around text problem in unit tests.
Now that payloads are not allowed to be text, some unit tests will cause crashes
on Python 3 because the payload sent by requests gets passed to FakeKey as a
string instead of raw bytes.

I haven't been able to figure out a way around the issue that doesn't get super
messy inside s3/responses.py so I'm just converting the value to bytes using the
system's default encoding.
2018-12-20 00:34:39 -08:00
Diego Argueta
b0a280bde2 Move S3 storage to SpooledTemporaryFile 2018-12-18 14:20:48 -08:00
Taro Sato
2038fa92be Activate proper pagination for S3 common prefixes 2018-12-05 16:17:28 -08:00
Jon Michaelchuck
d29869bf9b flake8 fix 2018-11-27 08:32:30 -08:00
Jon Michaelchuck
009b02bcd5 Raise a client error if PutBucketTags request contains duplicate keys
A PutBucketTags request with duplicate keys will raise a ClientError
with code InvalidTag and message 'Cannot provide multiple Tags with the
same key'.
2018-11-26 15:56:46 -08:00
Jon Michaelchuck
69e093fcea flake8 indentation fix 2018-11-22 06:16:37 -06:00
Jon Michaelchuck
fb7e52becc Check bucket name length at CreateBucket
Check that s3 bucket names follow the documented length restriction:

'Bucket names must be at least 3 and no more than 63 characters long.'

See https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
2018-11-22 06:08:03 -06:00
Grégory Bataille
34ac5c72b9 feat(#1959): bucket in us-east-1 return None as LocationConstraint 2018-11-20 19:50:42 +01:00
Grégory Bataille
437eb892e2 feat(#1959): LocationConstraint us-east-1 is not accepted by the CreateBucket operation 2018-11-20 18:57:05 +01:00
Jordan Guymon
8e909f580a MockAWS implementation using botocore event hooks 2018-10-29 09:12:22 +01:00
Steve Pulec
27ca96519b Fix extra whitespace in s3. Closes #1844. 2018-10-15 01:37:38 -04:00
Jon Beilke
5b3b52752d explicitly check that lifecycle actions are not None when setting lifecycle 2018-10-04 10:25:16 -05:00
Jon Beilke
a1a8ac7286 check for None in lifecycle actions 2018-10-03 01:26:09 -05:00
Jon Beilke
9b5f983cb5 add action validation to set_lifecycle() 2018-10-03 01:11:11 -05:00
Jon Beilke
691a8722a8 formatting fix for flake8 due to extra spaces 2018-10-03 00:45:47 -05:00
Jon Beilke
ea4fcaa82a add support for NoncurrentVersionTransition, NoncurrentVersionExpiration, and AbortIncompleteMultipartUpload actions to s3 lifecycle rules 2018-10-03 00:40:28 -05:00
Jordan Upiter
756b5d6671 Add support for multiple delete markers on an s3 object 2018-09-11 10:41:01 -04:00
Steve Pulec
0309d1ec39
Merge pull request #1707 from Whamied/etag-no-quote-patch
Added support for multipart upload completion with unquoted etags
2018-07-19 10:05:07 -04:00
Waleed Hamied
f8fdd439ad Added support for multipart upload confirmation with unquoted etags 2018-07-03 15:36:41 -04:00
Sanjeev Suresh
29da006f78 changed the getList default to an empty list instead of None, because otherwise an exception is raised when trying to iterate over an empty list 2018-06-21 15:26:27 -07:00
Alec Rajeev
6c10dc0403 Fix Storage Class error handling (#1653)
Added check for valid storage classes in set_key and copy_key
added unit test for standard storage and infrequent access
2018-06-07 08:09:36 +01:00
Alexander Mohr
93a404ec37 pep 2018-05-03 02:10:17 -07:00
Alexander Mohr
7a57dc2034 fix errors 2018-05-03 01:40:49 -07:00
Steve Pulec
2ecb04d6e0 Revert errant change to S3 urls in cd1c6d3e6c. 2018-04-18 16:15:47 -04:00
Steve Pulec
cd1c6d3e6c Unvendor responses, move back to upstream. 2018-04-05 16:57:43 -04:00
Mike Grima
4184acc0d2 Added Filtering support for S3 lifecycle (#1535)
* Added Filtering support for S3 lifecycle

Also added `ExpiredObjectDeleteMarker`.

closes #1533
closes #1479

* Result set no longer contains "Prefix" if "Filter" is set.
2018-04-02 14:19:14 -07:00
Colin Jones
1a8a4a084d S3 Ignore Subdomain for Bucketname Flag (#1419)
* Some circumstances need subdomains to be ignored rather that interpreted as bucketname, this patch allows such behaviour to be configured

* Adding helper case whereby localstack features as path based exception

* Remove whitespace :(
2018-03-21 09:33:09 -07:00
Mike Grima
cc14114afe Implemented S3 get/put_notification_configuration (#1516)
closes #973
2018-03-21 09:11:24 -07:00
Steve Pulec
0414cc51c1
Merge pull request #1499 from srikiraju/fix/s3-list-deleted
S3: Do not attempt to return deleted files in bucket listing
2018-03-07 07:08:07 -05:00
Steve Pulec
ece7507eec
Merge pull request #1430 from OwnZones/urldecode_fix
Url decode x-amz-copy-source for S3 copyObject requests
2018-03-06 22:26:15 -05:00
Steve Pulec
326698f3fa
Merge pull request #1460 from okomestudio/s3-region-from-url
Support both virtual-hosted and path-style URLs for region name parsing
2018-03-06 21:57:57 -05:00
Srikanth Raju
4f05aa725c S3: Do not attempt to return deleted files in bucket listing 2018-03-06 01:55:14 -08:00
Taro Sato
5e70d0ce4c Support both virtual-hosted-style and path-style URLs for region name parsing 2018-01-30 16:10:43 -08:00
Taro Sato
c7bcbadc6e Fix the S3 HEAD response body 2018-01-30 13:48:04 -08:00
ciprianaradulescu
c431a3a774
Merge branch 'master' into urldecode_fix 2018-01-14 19:58:48 +02:00
Ciprian Radulescu
ef9b229acc url decode x-amz-copy-source as per s3 nodejs documentation 2018-01-14 18:49:47 +02:00
Mike Grima
770281aef2 Added put_bucket_logging support (#1401)
- Also added put acl for XML
- Put logging will also verify that the destination bucket exists in the same region with the proper ACLs attached.
2018-01-02 20:47:57 -08:00
Waldemar Hummer
cdb7305dac use S3 path style addressing when running in kubernetes (#1315) 2017-11-15 19:37:39 +00:00
Terry Cain
d447929d29 utf 8 in key deletions V2 (#1321)
* supporting utf-8 in key deletions

* Fixed decoding of version body when regexing

* Fixed some more random errors

* Possible fix

* Fixed unused import

* Added UTF comment Py2
2017-11-06 13:39:08 -08:00
Brian Pandola
68a1e41286 Fix #1318 2017-11-02 23:03:54 -07:00
Terry Cain
b40c5e557e Fixed S3 versioning bug + minor cleanup (#1272)
* Fixed S3 versioning bug + minor cleanup

Fixes 1271

* flake8
2017-10-18 16:22:35 -07:00
Alexander Mohr
9008b85299 lambda + SNS enhancements (#1048)
* updates

- support lambda messages from SNS
- run lambda in docker container

* decode output

* populate timeout

* simplify

* whoops

* skeletons of cloudwatchlogs

* impl filter log streams

* fix logging

* PEP fixes

* PEP fixes

* fix reset

* fix reset

* add new endpoint

* fix region name

* add docker

* try to fix tests

* try to fix travis issue with boto

* fix escaping in urls

* fix environment variables

* fix PEP

* more pep

* switch back to precise

* another fix attempt

* fix typo

* fix lambda invoke

* fix more unittests

* work on getting this to work in new scheme

* fix py2

* fix error

* fix tests when running in server mode

* more lambda fixes

* try running with latest docker

adapted from aiodocker

* switch to docker python client

* pep fixes

* switch to docker volume

* fix unittest

* fix invoke from sns

* fix zip2tar

* add hack impl for get_function with zip

* try fix

* fix for py < 3.6

* add volume refcount

* try to fix travis

* docker test

* fix yaml

* try fix

* update endpoints

* fix

* another attempt

* try again

* fix recursive import

* refactor fix

* revert changes with better fix

* more reverts

* wait for service to come up

* add back detached mode

* sleep and add another exception type

* put this back for logging

* put back with note

* whoops :)

* docker in docker!

* fix invalid url

* hopefully last fix!

* fix lambda regions

* fix protocol

* travis!!!!

* just run lambda test for now

* use one print

* fix escaping

* another attempt

* yet another

* re-enable all tests

* fixes

* fix for py2

* revert change

* fix for py2.7

* fix output ordering

* remove this given there's a new unittest that covers it

* changes based on review

- add skeleton logs test file
- switch to docker image that matches test env
- fix mock_logs import

* add readme entry
2017-09-27 16:04:58 -07:00
Mike Grima
7167e09ca5 Fixed bug in S3 put_bucket_tagging. Closes #1181. 2017-09-22 13:35:00 -07:00
Jack Danger
390fe85137 supporting httpretty requests 2017-09-22 10:44:55 -07:00
Jack Danger
ea66a71765 supporting signed urls for private keys 2017-09-22 10:44:37 -07:00
Jack Danger
ca7661bc1e S3 keys inherit bucket ACL 2017-09-20 19:04:23 -07:00
Jack Danger
2055bb62f5 enforce s3 acls 2017-09-16 12:49:07 -07:00
Julien Duchesne
83dd9559db Handle "max-keys" in list-objects 2017-09-10 10:42:17 -07:00
Julien Duchesne
14dec68f15 Remove superfluous space 2017-09-09 00:27:54 -04:00
Julien Duchesne
0ddbcb5464 Handle 'marker' paginating parameter in the list-objects query 2017-09-09 00:25:02 -04:00
Mike Grima
5d8cd22b01 Fixed S3 lifecycle error message. (#1110)
Fixes #1109
Also added PutBucketTagging support
Also added Bucket CORS support
2017-09-07 11:30:05 -07:00
Alexander Mohr
2447725e98 fix list-object-versions with prefix (#1045)
fix list-object-versions with prefix
2017-08-10 17:14:31 -07:00
Taro Sato
38fa6809c0 Make HEAD bucket throw ClientError instead of NoSuchBucket on boto3 2017-07-20 15:39:45 -07:00
eric-weaver
abf3078c28 implement s3 object tagging 2017-07-15 22:36:12 -04:00
Steve Pulec
113bfcb4ea Fix duplicate bucket creation with LocationConstraint. Closes #970. 2017-06-03 19:29:59 -04:00
Jack Danger
6163363c15 Merge pull request #960 from spg/feat-s3-if-modified-since
feat(s3) HeadObject: honor If-Modified-Since header
2017-06-01 09:10:20 -07:00
Simon-Pierre Gingras
a2a6514936 attempt at fixing tests 2017-05-23 11:29:01 -07:00
Kate Heddleston
a21413f4ea NoSuchKey error in S3 is actually '404'
Fixes #571 and #953
2017-05-22 19:08:12 -07:00
Simon-Pierre Gingras
517416c4d9 feat(s3) HeadObject: honor If-Modified-Since header 2017-05-19 15:59:25 -07:00
georgepsarakis
9a861a367d Enable DeleteMarker support for versioned buckets
- Add object version deletion
- Add DeleteMarker in versioned key store as latest version
- GetObject returns NoSuchKey for objects with DeleteMarker as latest
  version
- Enable IsLatest in response when listing object versions
2017-05-14 19:56:25 +03:00
Steve Pulec
2adc5f2ace Prefix should not be required for S3 lifecycle config. Closes #930. 2017-05-10 22:45:01 -04:00
Steve Pulec
152d71e4f3 Merge pull request #922 from georgepsarakis/bug/s3_list_versions_valueerror
ValueError when calling boto3 list_object_versions
2017-05-10 22:06:26 -04:00
Steve Pulec
ff4649eebd Merge pull request #924 from JackDanger/require-content-length-header
Require content-length header
2017-05-10 22:02:21 -04:00
Jack Danger Canty
a2fd72d2f8 Require content-length header
fixes #908
2017-05-01 12:13:12 -07:00
georgepsarakis
617e994ac6 Specify integer value for MaxKeys in S3 response 2017-04-29 22:35:25 +03:00
Hugo Picado
0945765537
Fixing metadata key on s3 operation response
ETag metadata key is being returned as "Etag" instead of "ETag". This leads to issues in some AWS SDKs using MotoServer. This change fixes the issue by updating the key to the correct format.

This closes #920
2017-04-27 13:57:18 +01:00
Steve Pulec
e9bf74d8e3 Merge pull request #904 from ambrusadrianz/master
Fixed S3 copyObject compatibility with the Java AWS SDK
2017-04-15 23:46:21 -04:00
Ambrus Adrian
121a68be49 Fixed compatibility issue with the Java AWS SDK
Issue is described here: https://github.com/spulec/moto/issues/900
2017-04-15 01:06:28 +03:00
Dmytro Milinevskyy
6e61ee4caa s3: handle WebsiteRedirectLocation
spulec/moto#821
2017-04-14 13:32:52 +02:00
Waldemar Hummer
b8a41c5605 fix domain handling for local domain names in S3 API 2017-04-08 15:28:51 +10:00
Steve Pulec
446843e756 Fix py3 s3 prefix decoding. 2017-03-15 23:13:09 -04:00
Steve Pulec
3899eee648 Fix S3 filtering by unicode prefix. Closes #838 2017-03-15 22:53:27 -04:00
Steve Pulec
5f3fbff627 Standardize on one account id (123456789012). 2017-03-15 22:21:04 -04:00
Steve Pulec
6d422d1f37 Add BaseModel to all models. 2017-03-11 23:41:12 -05:00
Steve Pulec
3b4ef2cf15 Merge in master. 2017-03-05 09:58:39 -05:00
Matt Chamberlin
0393c384ad fix etag metadata field name in key response dict (etag --> ETag) (#855) 2017-03-04 23:17:18 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
81836b6981 Get standalone server mode working for all tests. 2017-02-23 19:43:48 -05:00
Steve Pulec
cad185c74d Cleanup headers and encoding. 2017-02-16 22:51:04 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Stefan Nordhausen
1a01bae74e Implement list_objects_v2() for S3 buckets (#814)
This adds/fixes the following things:
- Add missing KeyCount in result (fixes #734).
- Do not hard code MaxKeys to 1000.
- Truncate result if it has more than MaxKeys items. Set IsTruncated
    and NextContinuationToken accordingly.
- Support the StartAfter parameter.
- Return Owner information only when FetchOwner=True is given.
- "Prefix" in response is now "" instead of None when omitted in request.
- "Delimiter" is now omitted from response when not given in request.
2017-02-08 21:21:43 -05:00
Steve Pulec
2c6a967f45 Disable strict_slashes for Flask so that S3 works in server mode. 2016-12-03 18:59:28 -05:00
mfranke
5dc8e59fab Fix s3bucket_path (#784)
* check HTTP header for IPv4 or IPv6 addresses and default to path based S3

* improved IPv4 and IPv6 checking with optional ports

* typo

* subdomain bucket creation with trailing '/' did not work

* Use regex for Host field check to determine IPv4/IPv6

* add testcases for trailing slash, IPv4 and IPv6
2016-12-03 18:15:24 -05:00
Tom V
c54985a39f Fix for #748. Turn on autoescape for S3 templates. (#779) 2016-12-03 18:13:24 -05:00
Steve Pulec
136f6d67fb Add S3 ACL for aws-exec-read. Closes #740. 2016-11-23 19:42:36 -06:00
mfranke
040c2cd8cc Fix s3bucketpath handling for IP based requests (#765)
* check HTTP header for IPv4 or IPv6 addresses and default to path based S3

* improved IPv4 and IPv6 checking with optional ports

* typo
2016-11-23 19:05:34 -06:00
Taro Sato
bdb9d59e46 Update response headers with response_dict from key; add tests 2016-09-20 15:42:21 -07:00
imran
478e791c39 Fix unicode S3 key listing in Python 2 2016-09-04 04:31:03 +06:00
Declan Shanaghy
1441087e5c Add S3 parsing for CloudFormation 2016-08-15 10:57:40 -07:00
Jesse Szwedko
ef10df0636 Update format of S3 client errors
To match
http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
which documents that it should be at the top level rather than nested
under `Errors`.
2016-07-08 19:32:34 +00:00
George Leslie-Waksman
48c57384c5 Return headers and response matching AWS specification for copy_from requests. 2016-06-13 13:24:09 -07:00
Steve Pulec
bd7327fca2 Fix issues around S3 deletion. Closes #606. 2016-05-08 17:14:35 -04:00
Steve Pulec
79addb8926 Add S3 functionality to copy range. Closes #526. 2016-05-05 22:52:12 -04:00
Steve Pulec
0a10b2f738 Fix issues with unicode and slashes for S3. Closes #521. 2016-05-01 22:03:52 -04:00
Steve Pulec
15dc619fb2 More liberal regrex for S3 region matching. Closes #580. 2016-05-01 21:17:06 -04:00
Steve Pulec
b932343fec Break out MissingKey as separate exception. Closes #571. 2016-05-01 17:04:09 -04:00
Dan Felix
1988c957e0 Pass query to _key_response_head for versioning support. 2016-04-28 13:16:25 -07:00
George Leslie-Waksman
0ed7d1bb71 Add support for src_version_id to bucket copy_key op. 2016-04-27 17:08:44 -07:00
Steve Pulec
31dbe61233 Fix s3 url regex. Closes #516. 2016-01-24 17:15:21 -05:00
Steve Pulec
a7938ed9ec Fix s3 url regex to ensure path-based bucket and key does not catch. 2016-01-24 16:33:50 -05:00
Daniel Miller
35a89da273 Fix delete keys with werkzeug request 2016-01-22 12:44:57 -05:00
Daniel Miller
89d5c72d86 Fix delete keys detection with werkzeug request 2016-01-22 12:44:12 -05:00
Steve Pulec
075d008509 Change s3 urls to ordereddict to fix python3 issues. 2016-01-17 17:19:53 -05:00
Steve Pulec
0df03ba409 cleanup code. 2015-11-27 14:43:03 -05:00
Steve Pulec
1df454a632 first working version of s3 refactor. 2015-11-27 14:14:59 -05:00
Steve Pulec
c38731ecbb Add ACL support for S3 buckets. 2015-11-11 20:26:29 -05:00
Steve Pulec
18d63a6cfe Add basics of S# website configuration. Closes #442. 2015-11-04 18:55:41 -05:00
Steve Pulec
d3e4c2c4b5 Add ability for specific backends to enable template escaping. Closes #441. 2015-11-03 09:25:47 -05:00
Mike Kaplinskiy
131d44f0ad Add S3 ACL supprt. 2015-10-07 00:14:37 -07:00
zeb
b59a77d5bb Tweak bucket.delete_keys for s3bucket_path. 2015-09-04 19:02:26 +02:00
Steve Pulec
323f720cb5 Fix S3 bucket policy delete. Closes #396. 2015-08-07 22:43:24 -04:00
Simon-Pierre Gingras
dc0557205d S3: Bucket policy 2015-07-23 17:33:52 -04:00
MurphyMarkW
b82d0264dc Fixes suffix range requests to truncate ranges. 2015-06-30 02:04:30 -05:00
MurphyMarkW
723b743381 Modifies check for last-byte-pos. 2015-06-30 00:26:42 -05:00
MurphyMarkW
2cdab4cab9 Fixes last-byte-pos interpretation. 2015-06-29 20:25:22 -05:00
Steve Pulec
5ee1525cd8 Fix S3 missing key error. Closes #364. 2015-06-27 17:56:37 -04:00
Daniel O'Connell
5cc8f9ed21 S3_BUCKET_VERSIONING and S3_BUCKET_GET_VERSIONING were generating invalid XML, as the '<?xml version="1.0" encoding="UTF-8"?>' bit must be on the first line. 2015-06-12 08:56:14 +02:00
Steve Pulec
91fffbb83b Add basics for S3 bucket lifecycles. 2015-06-02 23:11:23 -04:00
Steve Pulec
07dd6e554e [S3]Only add multipart part_id to partlist if it is not already in there. Closes #324. 2015-03-05 19:32:02 -05:00
John Lynn
0496d4669e Fix bucket versioning when running under moto_server 2015-02-22 22:22:41 +07:00
Steve Pulec
53a6d2466b Merge pull request #298 from kouk/ranged_get
support ranged get in S3
2015-02-14 08:35:23 -05:00
Konstantinos Koukopoulos
e1163e5223 fix some boundary conditions 2015-02-10 19:43:24 +02:00
Konstantinos Koukopoulos
261328d449 set content-range header so boto knows this is a ranged response 2015-02-10 19:15:10 +02:00
Konstantinos Koukopoulos
418a6a118e return proper status codes in range get, fix suffix range 2015-02-10 19:14:47 +02:00
Konstantinos Koukopoulos
9efd12c43c support more range specifiers in ranged gets 2015-02-10 17:55:44 +02:00
Konstantinos Koukopoulos
dbf1e64d44 support ranged get in S3 2015-02-10 17:28:18 +02:00
Konstantinos Koukopoulos
2dd174b577 use request body in complete upload, improve exception handling 2015-02-10 16:56:56 +02:00
Konstantinos Koukopoulos
7250186c26 support multipart uploads when parts are uploaded out of order 2015-02-10 16:45:31 +02:00
Konstantinos Koukopoulos
1460a5a3c7 refactor S3 exceptions to inherit from RESTError 2015-02-10 15:33:18 +02:00
Steve Pulec
06476ccb3a Merge pull request #291 from jbalogh/delimiter
Folder results should include the delimiter.
2015-01-29 22:49:09 -05:00
Jeff Balogh
c7bf6ffc91 Folder results should include the delimiter. 2015-01-29 09:20:40 -08:00
Josh Palmer
7e3516f997 Added support for listing multipart uploads with prefix. 2015-01-29 17:24:23 +01:00
dreadpirateshawn
aff5dd408c Performance: Leverage jinja2's Environment to cache compiled Templates. (fixed merge) 2014-12-12 13:05:46 -08:00
dreadpirateshawn
7ce83082ca Merge remote-tracking branch 'origin/master' into ImproveTemplatePerformance
Conflicts:
	moto/s3/responses.py
2014-12-12 12:51:29 -08:00
dreadpirateshawn
9affa7753d Performance: Leverage jinja2's Environment to cache compiled Templates. 2014-12-12 12:46:07 -08:00
Steve Pulec
4ab3b318eb Add S3 location response. Closes #279. 2014-12-10 20:44:00 -05:00
Steve Pulec
a2e56afef8 Add special S3 bucket create logic for us-east-1. Closes #273. 2014-12-10 20:20:51 -05:00
Steve Pulec
3a82f089a2 Cleanup metadata setting and add fix for multipart uploads. Closes #274. 2014-12-07 12:43:14 -05:00
Steve Pulec
1a015d0e39 Cleanup some incorrect date formats. 2014-11-29 23:34:40 -05:00
Steve Pulec
e88e3d5372 S3 Fixes for special metadata headers. 2014-11-27 10:43:10 -05:00
Steve Pulec
9024066957 Fixes for some S3 Unicode issues. Closes #158. 2014-11-22 10:19:56 -05:00
Steve Pulec
8d6868f9d3 For S3 Key Head requests, just return the real body for now so that key length works. Closes #131. 2014-11-19 21:06:23 -05:00
Steve Pulec
8bc8f09b47 Some flake8 cleanup. 2014-11-15 09:35:52 -05:00
Joseph Lawson
20a69255c3 tweak Fn::GetAtt to return resource_json if resource is not implemented. DRY
This is better than failing out with a misleading Boto 400 error which should only happen when get_cfn_attribute is called but fails.
2014-10-21 14:51:26 -04:00
Joseph Lawson
1d9ffafaa5 create CloudFormation outputs and enable 'Fn::GetAtt' to work. 2014-10-21 12:45:03 -04:00
Cory Lorenz
5320b39912 Make S3 Model Timestamps Consistent By Using UTC
UTC seems to be default timezone for AWS, and the time strings are reporting as GMT, yet the date time is the local time zone.
2014-09-12 15:37:22 -07:00
Konstantinos Koukopoulos
0502427ac1 treat request.headers as a more general list of dicts 2014-09-10 17:37:20 +03:00
David Baumgold
eedb4c4b73 Support Python 3 using six 2014-08-28 10:57:43 -04:00
David Baumgold
4201e6b430 from __future__ import unicode_literals 2014-08-27 11:33:55 -04:00
Steve Pulec
64ed605c14 Ignore S3 ACL for now since we do not implement it. 2014-08-13 22:13:23 -04:00