def __getAclOperation(self): bucket_acp = Bucket.getBucketACP(bucket=self.utakaReq.bucket, user=self.utakaReq.user) if len(bucket_acp) == 0: '''bucket not found, throw error''' else: self.utakaReq.req.content_type = 'applicaton/xml' self.utakaReq.write(AcpXml.toXML(bucket_acp))
def __getOperation(self): getBucketParams = {'name':self.utakaReq.bucket} for param in 'prefix', 'marker', 'max-keys', 'delimiter': if param in self.utakaReq.subresources: getBucketParams[param] = self.utakaReq.subresources[param][0] if 'max-keys' not in getBucketParams: getBucketParams['max-keys'] = 1000 res = Bucket.getBucket(bucket = self.utakaReq.bucket, user = self.utakaReq.user, prefix = getBucketParams.get('prefix'), marker = getBucketParams.get('marker'), maxKeys = getBucketParams.get('max-keys'), delimiter = getBucketParams.get('delimiter')) getBucketParams['isTruncated'] = str(res[2]) self.utakaReq.req.content_type = 'application/xml' self.utakaReq.write(self.__getXMLResponse(getBucketParams, res[0], res[1]))
def __putOperation(self): cannedACL = self.utakaReq.customHeaderTable.get('acl', 'private') acp = {} acp['owner'] = {'userid':self.utakaReq.user} acl = [{'grantee':{'userid':self.utakaReq.user}, 'permission':'FULL_CONTROL'}] if cannedACL == 'public-read': acl.append({'grantee':{'userid':1}, 'permission':'read'}) elif cannedACL == 'public-read-write': acl.append({'grantee':{'userid':1}, 'permission':'read'}) acl.append({'grantee':{'userid':1}, 'permission':'write'}) elif cannedACL == 'authenticated-read': acl.append({'grantee':{'userid':2}, 'permission':'read'}) elif cannedACL != 'private': '''throw error''' acp['acl'] = acl result = Bucket.setBucket(bucket = self.utakaReq.bucket, user = self.utakaReq.user, accessControlPolicy = acp)
def __deleteOperation(self): result = Bucket.destroyBucket(bucket=self.utakaReq.bucket, user=self.utakaReq.user) self.utakaReq.req.status = 204
def __putAclOperation(self): #READ BODY acp = AcpXml.fromXML(self.utakaReq.req.read()) Bucket.setBucketACP(user=self.utakaReq.user, bucket=self.utakaReq.bucket, accessControlPolicy=acp) pass
def __getLoggingOperation(self): Bucket.getBucketLogStatus(user=self.utakaReq.user, bucket=self.utakaReq.bucket)