#! /usr/bin/env python

import os, sys
import ConfigParser
from boto.s3.connection import S3Connection
from boto.exception import AWSConnectionError
from boto.exception import S3CreateError, S3ResponseError

cmd = "rmbucket"
usage = """Usage: rmbucket [BUCKETNAME|BUCKETKEY]"""


if len(sys.argv) == 1 or len(sys.argv) > 2:
    print  cmd + ": incorrect number of arguments"
    print usage
    exit(0)

toDelete = sys.argv[1]

try:
    config = ConfigParser.ConfigParser()
    config.readfp(open(os.getenv("HOME")+'/.creds', 'r'))
    
    conn = S3Connection(config.get('AWS Credentials', 'accessKey'), config.get('AWS Credentials', 'secretKey'))

    split = toDelete.find('/')
    if  split == -1:
        conn.delete_bucket(toDelete)
    else:
        bucket = conn.get_bucket(toDelete[0:split])
        bucket.delete_key(toDelete[split+1:])

except IOError as error:
    print cmd + ": cannot open " + error.filename + ": " + error.strerror
    sys.exit(error.errno)

except AWSConnectionError as error:
    print cmd + ": " + error.error_message
    sys.exit(1)

except S3CreateError as error:
    print cmd + ": " + error.error_message
    sys.exit(1)

except S3ResponseError as error:
    print cmd + ": " + error.error_message
    sys.exit(1)
    
        
