예제 #1
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	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))
예제 #2
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	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]))
예제 #3
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	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)
예제 #4
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	def __deleteOperation(self):
		result = Bucket.destroyBucket(bucket=self.utakaReq.bucket, user=self.utakaReq.user)
		self.utakaReq.req.status = 204
예제 #5
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	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
예제 #6
0
파일: UtakaBucket.py 프로젝트: HISG/utaka
	def __getLoggingOperation(self):
		Bucket.getBucketLogStatus(user=self.utakaReq.user, bucket=self.utakaReq.bucket)