summaryrefslogtreecommitdiff
path: root/example.py
diff options
context:
space:
mode:
authorSubhobroto Sinha <subhobroto@gmail.com>2012-07-10 20:21:40 +0000
committervagrant <vagrant@GIT120504120401.shuvolabs.org>2012-07-10 20:23:50 +0000
commit2b2212e7e766e7a0f01e27fa842ae074fdb03d1b (patch)
treea1ad67cd4e143a3f930a4a310c465f9d3625f500 /example.py
parent6aff55afee7f42019aedcfbce1d1212c63313035 (diff)
downloadpython-requests-aws-2b2212e7e766e7a0f01e27fa842ae074fdb03d1b.tar.gz
URI Path component was being improperly encoded. Run my example.py on existing codebase to see it crash and burn
Diffstat (limited to 'example.py')
-rw-r--r--example.py46
1 files changed, 36 insertions, 10 deletions
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()