From 2b2212e7e766e7a0f01e27fa842ae074fdb03d1b Mon Sep 17 00:00:00 2001 From: Subhobroto Sinha Date: Tue, 10 Jul 2012 20:21:40 +0000 Subject: URI Path component was being improperly encoded. Run my example.py on existing codebase to see it crash and burn --- example.py | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) (limited to 'example.py') diff --git a/example.py b/example.py index b9f6a22..d37c53a 100644 --- a/example.py +++ b/example.py @@ -1,16 +1,42 @@ +#!/usr/bin/env python + import requests + from awsauth import S3Auth -ACCESS_KEY = 'ACCESSKEYXXXXXXXXXXXX' -SECRET_KEY = 'AWSSECRETKEYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' +import StringIO + +import gzip + +import urllib + +ACCESS_KEY = "ACCESSKEYXXXXXXXXXXXX" +SECRET_KEY = "AWSSECRETKEYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + +acceptableAccessCodes = (200, 204) # # https://forums.aws.amazon.com/thread.jspa?threadID=28799: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html + +if __name__ == '__main__': + + confirmIt = u'Sam is sweet' # Data needs to be in unicode, or it will fail + + bucketName = 'mybucket' + objectName = ['myfile.txt', 'my+file.txt'] + + for o in objectName: + # Creating a file + r = requests.put(('http://%s.s3.amazonaws.com/%s' % (bucketName, o)), data=confirmIt, auth=S3Auth(ACCESS_KEY, SECRET_KEY)) + if r.status_code not in acceptableAccessCodes: + r.raise_for_status() -# Creating a file -r = requests.put('http://mybucket.s3.amazonaws.com/myfile.txt', data='Sam is sweet', auth=S3Auth(ACCESS_KEY, SECRET_KEY)) + # Downloading a file + r = requests.get(('http://%s.s3.amazonaws.com/%s' % (bucketName, o)), auth=S3Auth(ACCESS_KEY, SECRET_KEY)) + if r.status_code not in acceptableAccessCodes: + r.raise_for_status() -# Downloading a file -r = requests.get('http://mybucket.s3.amazonaws.com/myfile.txt', auth=S3Auth(ACCESS_KEY, SECRET_KEY)) -if r.content == 'Sam is sweet': - print 'Hala Madrid!' + if r.content == confirmIt: + print 'Hala Madrid!' -# Removing a file -r = requests.delete('http://mybucket.s3.amazonaws.com/myfile.txt', auth=S3Auth(ACCESS_KEY, SECRET_KEY)) \ No newline at end of file + # Removing a file + r = requests.delete(('http://%s.s3.amazonaws.com/%s' % (bucketName, o)), auth=S3Auth(ACCESS_KEY, SECRET_KEY)) + if r.status_code not in acceptableAccessCodes: + r.raise_for_status() -- cgit v1.2.1