def bucket_handle()

in files/default/rgw_s3_api.py [0:0]


def bucket_handle(conn, bucket_name, validate=True, headers=None, create=False, make_public=False, verbose=False):
    if not conn or not bucket_name:
        if verbose:
            print('Connection and/or bucket name not valid - unable to get handle.')
        return None

    bucket = None

    try:
        bucket = conn.lookup(bucket_name, validate=validate, headers=headers)
        if not bucket and create:
            bucket = bucket_create(conn, bucket_name, headers=headers, make_public=make_public, verbose=verbose)  # add policy for acls
            if bucket:
                if verbose:
                    print('Bucket %s created.' % bucket_name)
            else:
                if verbose:
                    print('Bucket %s not created.' % bucket_name)
        else:
            if verbose:
                print('Bucket %s found.' % bucket_name)

        if bucket and make_public:  # temporary...
            bucket.make_public(recursive=False, headers=headers)
            if verbose:
                print('Bucket %s made public.' % bucket_name)
    except BaseException, e:
        print(e.message)

    return bucket