def delete(self, scope_name): """ Deletes the specified metadata from the DID .. :quickref: Meta; Delete DID metadata. HTTP Success: 200 OK HTTP Error: 401 Unauthorized 404 KeyNotFound """ try: scope, name = parse_scope_name(scope_name, request.environ.get('vo')) except ValueError as error: return generate_http_error_flask(400, error) if 'key' in request.args: key = request.args['key'] else: return generate_http_error_flask(404, KeyNotFound.__name__, 'No key provided to remove') try: delete_metadata(scope=scope, name=name, key=key, vo=request.environ.get('vo')) except (KeyNotFound, DataIdentifierNotFound) as error: return generate_http_error_flask(404, error) except NotImplementedError as error: return generate_http_error_flask(409, error, 'Feature not in current database') return '', 200
def DELETE(self, scope, name): """ Deletes the specified key from the DID HTTP Success: 200 OK HTTP Error: 401 Unauthorized 404 KeyNotFound """ key = "" if ctx.query: params = parse_qs(ctx.query[1:]) if 'key' in params: key = params['key'][0] else: raise generate_http_error(404, 'KeyNotFound', 'No key provided to remove') try: delete_metadata(scope=scope, name=name, key=key) except KeyNotFound as error: raise generate_http_error(404, 'KeyNotFound', error.args[0]) except DataIdentifierNotFound as error: raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0]) except NotImplementedError: raise generate_http_error(409, 'NotImplementedError', 'Feature not in current database') 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 OK()