def post(self): """Add a new Source 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: source = ICSource(inflate={'_id' : params['_id']}) if source.addFile(params['package_name'], params['package_content']): if source.importAssets(params['package_name']): res.result = 200 res.data = source.emit() else: source.invalidate( invalidate['codes']['source_invalid_public_credentials'], invalidate['reasons']['source_invalid_public_credentials'] ) res.reason = source.invalid self.write(res.emit())