Ejemplo n.º 1
0
	def post(self):
		"""Add a new Submission to the database.
		
		Only the server may utilize this method.
		
		required parameters in post:
			_id
			package_name
			package_content
		"""
		
		res = ServerResponse()		
		params = parseRequest(self.request.body)

		if params is not None:
			submission = ICSubmission(inflate={'_id' : params['_id']})
			if submission.addFile(params['package_name'], params['package_content']):
				if submission.importAssets(params['package_name']):
					submission.setMimeType(params['mime_type'])
					
					res.result = 200
					res.data = submission.emit()
				else:
					submission.invalidate(
						invalidate['codes']['asset_non_existent'],
						invalidate['reasons']['asset_non_existent']
					)
					res.reason = submission.invalid
		
		self.write(res.emit())