Code Monkey home page Code Monkey logo

awspylib's Introduction

Copyright (c) 2008, Kiran Bhageshpur <[email protected]>

http://code.google.com/p/awspylib

2/12/2008
awspylib is a python based library to interact with amazon web services.  Currently, it only supports amazon's Simple 
Storage Service (S3). 

awspylib has been developed and tested ih python2.5.1 on both Windows XP and Ubuntu 7.1 (Gusty Gibbons).  It has also
been tested with am EC3 ubuntu7.1 image.

The main use case focus for the development of awspylib has been more "back end" focused.  The current implementation of
the interface to S3 is really focused on allowing the backup and synchronization of a local file system to S3.

The goal is to next integrate awspylib with PyNotify to create a low cost, lightweight way to back up changes to local 
file systems on a EC2 image to S3 and to automatically restore these changes on the restart of an EC2 instance

Included with the library is a CLI based tool (s3_cli.py)

User documentation can be found at awspylib/docs/






awspylib's People

Watchers

James Cloos avatar

awspylib's Issues

Loop forever in the put_object_from_file with check hash = true

What steps will reproduce the problem?
1. call put_object_from_file with check hash = true
2. the app will loop forever
3.

What is the expected output? What do you see instead?
if the hash check is correct, then done

What version of the product are you using? On what operating system?
/trunk/awspylib/aws_s3/s3_util.py - r30     

Please provide any additional information below.
Because the numTries has no chance to be increased to reach _NUMBER_OF_RETRIES 
if there is no error or there isn't break in case check hash = true

Should add an additional else: break for the if ( resp._get_etag_( ) != h ):

def put_object_from_file (self, fileName):      
while numTries < _NUMBER_OF_RETRIES_: 
854 if (Config.AWSProperties['CheckHash'] == True):
855     if ( resp._get_etag_( ) != h ):
858         numTries += 1
859     else:
860         break
861 else:
862     break

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 7:58

content type for keys are hard-coded to application/octet-stream

I modified s3_util.py to use the mimetypes module:

top of file add:
from mimetypes import guess_type

and in s3_util.py _stream_data_from_file_

change:
headers['content-type'] = 'application/octet-stream'

to:
headers['content-type'] = guess_type(fileName)[0]

Original issue reported on code.google.com by stephen.mc on 29 Oct 2008 at 12:28

No ability to set ACLs

Need the ability to specify ACLs on keys. I simply modified s3_util.py as
follows:

def put_object_from_file (self, fileName, **headers):
def _stream_data_from_file_(self, fileName, headers = None):
    if not headers: headers = {}

and call as follows:
k.put_object_from_file(f, x-amz-acl="public-read")

[email protected]

Original issue reported on code.google.com by stephen.mc on 1 Oct 2008 at 6:08

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.