def _package_create(request): """Create a package.""" try: payload = json.loads(request.body) path = base64.b64decode(payload.get('path')) except (TypeError, ValueError): return helpers.json_response( { 'error': True, 'message': 'Parameter "path" cannot be decoded.' }, 400) args = ( payload.get('name'), payload.get('type'), payload.get('accession'), payload.get('access_system_id'), path, payload.get('metadata_set_id'), ) kwargs = { 'auto_approve': payload.get('auto_approve', True), 'wait_until_complete': False, } processing_config = payload.get('processing_config') if processing_config is not None: kwargs['processing_config'] = processing_config try: client = MCPClient() id_ = client.create_package(*args, **kwargs) except Exception as err: msg = 'Package cannot be created' LOGGER.error("{}: {}".format(msg, err)) return helpers.json_response({'error': True, 'message': msg}, 500) return helpers.json_response({'id': id_}, 202)
def _package_create(request): """Create a package.""" try: payload = json.loads(request.body.decode("utf8")) path = base64.b64decode(payload.get("path")) except (TypeError, ValueError): return helpers.json_response( { "error": True, "message": 'Parameter "path" cannot be decoded.' }, 400) args = ( payload.get("name"), payload.get("type"), payload.get("accession"), payload.get("access_system_id"), path, payload.get("metadata_set_id"), ) kwargs = { "auto_approve": payload.get("auto_approve", True), "wait_until_complete": False, } processing_config = payload.get("processing_config") if processing_config is not None: kwargs["processing_config"] = processing_config try: client = MCPClient(request.user) id_ = client.create_package(*args, **kwargs) except Exception as err: msg = "Package cannot be created" LOGGER.error("%s: %s", msg, err) return helpers.json_response({"error": True, "message": msg}, 500) return helpers.json_response({"id": id_}, 202)