def POST(self, scope, name, key): """ Add metadata to a data identifier. HTTP Success: 201 Created HTTP Error: 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param scope: The scope name. :param name: The data identifier name. :param key: the key. """ json_data = data() try: params = loads(json_data) value = params['value'] recursive = params.get('recursive', False) except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list') try: set_metadata(scope=scope, name=name, key=key, value=value, issuer=ctx.env.get('issuer'), recursive=recursive) except Duplicate, error: raise generate_http_error(409, 'Duplicate', error[0][0])
def post(self, scope, name, key): """ Add metadata to a data identifier. .. :quickref: Meta; Add DID metadata. HTTP Success: 201 Created HTTP Error: 400 Bad Request 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param scope: The scope name. :param name: The data identifier name. :param key: the key. """ json_data = request.data try: params = loads(json_data) value = params['value'] recursive = params.get('recursive', False) except ValueError: return generate_http_error_flask( 400, 'ValueError', 'Cannot decode json parameter list') try: set_metadata(scope=scope, name=name, key=key, value=value, issuer=request.environ.get('issuer'), recursive=recursive) except DataIdentifierNotFound as error: return generate_http_error_flask(404, 'DataIdentifierNotFound', error.args[0]) except Duplicate as error: return generate_http_error_flask(409, 'Duplicate', error.args[0]) except KeyNotFound as error: return generate_http_error_flask(400, 'KeyNotFound', error.args[0]) except InvalidMetadata as error: return generate_http_error_flask(400, 'InvalidMetadata', error.args[0]) except InvalidValueForKey as error: return generate_http_error_flask(400, 'InvalidValueForKey', error.args[0]) except RucioException as error: return generate_http_error_flask(500, error.__class__.__name__, error.args[0]) except Exception as error: print format_exc() return error, 500 return "Created", 201
def POST(self, scope, name, key): """ Add metadata to a data identifier. HTTP Success: 201 Created HTTP Error: 400 Bad Request 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param scope: The scope name. :param name: The data identifier name. :param key: the key. """ json_data = data() try: params = loads(json_data) value = params['value'] recursive = params.get('recursive', False) except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json parameter list') try: set_metadata(scope=scope, name=name, key=key, value=value, issuer=ctx.env.get('issuer'), recursive=recursive, vo=ctx.env.get('vo')) except DataIdentifierNotFound as error: raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0]) except Duplicate as error: raise generate_http_error(409, 'Duplicate', error.args[0]) except KeyNotFound as error: raise generate_http_error(400, 'KeyNotFound', error.args[0]) except InvalidMetadata as error: raise generate_http_error(400, 'InvalidMetadata', error.args[0]) except InvalidValueForKey as error: raise generate_http_error(400, 'InvalidValueForKey', error.args[0]) except RucioException as error: raise generate_http_error(500, error.__class__.__name__, error.args[0]) except Exception as error: print(format_exc()) raise InternalError(error) raise Created()
def post(self, scope_name, key): """ Add metadata to a data identifier. .. :quickref: SingleMeta; Add DID metadata. HTTP Success: 201 Created HTTP Error: 400 Bad Request 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param scope_name: data identifier (scope)/(name). :param key: the key. """ try: scope, name = parse_scope_name(scope_name, request.environ.get('vo')) except ValueError as error: return generate_http_error_flask(400, error) parameters = json_parameters() value = param_get(parameters, 'value') try: set_metadata( scope=scope, name=name, key=key, value=value, issuer=request.environ.get('issuer'), recursive=param_get(parameters, 'recursive', default=False), vo=request.environ.get('vo'), ) except DataIdentifierNotFound as error: return generate_http_error_flask(404, error) except Duplicate as error: return generate_http_error_flask(409, error) except (KeyNotFound, InvalidMetadata, InvalidValueForKey) as error: return generate_http_error_flask(400, error) return 'Created', 201
def post(self, scope, name, key): """ Add metadata to a data identifier. .. :quickref: Meta; Add DID metadata. HTTP Success: 201 Created HTTP Error: 401 Unauthorized 404 Not Found 409 Conflict 500 Internal Error :param scope: The scope name. :param name: The data identifier name. :param key: the key. """ json_data = request.data try: params = loads(json_data) value = params['value'] recursive = params.get('recursive', False) except ValueError: return generate_http_error_flask( 400, 'ValueError', 'Cannot decode json parameter list') try: set_metadata(scope=scope, name=name, key=key, value=value, issuer=request.environ.get('issuer'), recursive=recursive) except Duplicate, error: return generate_http_error_flask(409, 'Duplicate', error[0][0])