def PUT(self, scope, name): """ Update data identifier status. HTTP Success: 200 OK HTTP Error: 401 Unauthorized 500 InternalError :param scope: data identifier scope. :param name: data identifier name. """ json_data = data() try: kwargs = loads(json_data) except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json data parameter') try: set_status(scope=scope, name=name, issuer=ctx.env.get('issuer'), **kwargs) except DataIdentifierNotFound, error: raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0][0])
def put(self, scope_name): """ Update data identifier status. .. :quickref: DIDs; Update DID status. .. sourcecode:: http PUT /dids/scope1/container1 HTTP/1.1 Host: rucio.cern.ch {"open": False}, **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept :param scope_name: data identifier (scope)/(name). :<json bool open: open or close did :status 200: DIDs successfully updated :status 401: Invalid Auth Token :status 404: DID not found :status 409: Wrong status """ 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() try: set_status(scope=scope, name=name, issuer=request.environ.get('issuer'), vo=request.environ.get('vo'), **parameters) except DataIdentifierNotFound as error: return generate_http_error_flask(404, error) except (UnsupportedStatus, UnsupportedOperation) as error: return generate_http_error_flask(409, error) except AccessDenied as error: return generate_http_error_flask(401, error) return '', 200
def put(self, scope, name): """ Update data identifier status. .. :quickref: DIDs; Update DID status. .. sourcecode:: http PUT /dids/scope1/container1 HTTP/1.1 Host: rucio.cern.ch {"open": False}, **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept :param scope: data identifier scope. :param name: data identifier name. :<json bool open: open or close did :status 200: DIDs successfully updated :status 401: Invalid Auth Token :status 404: DID not found :status 409: Wrong status :status 500: Database Exception """ json_data = request.data try: kwargs = loads(json_data) except ValueError: return generate_http_error_flask( 400, 'ValueError', 'Cannot decode json data parameter') try: set_status(scope=scope, name=name, issuer=request.environ.get('issuer'), **kwargs) except DataIdentifierNotFound, error: return generate_http_error_flask(404, 'DataIdentifierNotFound', error.args[0][0])
def PUT(self, scope, name): """ Update data identifier status. HTTP Success: 200 OK HTTP Error: 401 Unauthorized 500 InternalError :param scope: data identifier scope. :param name: data identifier name. """ json_data = data() try: kwargs = loads(json_data) except ValueError: raise generate_http_error(400, 'ValueError', 'Cannot decode json data parameter') try: set_status(scope=scope, name=name, issuer=ctx.env.get('issuer'), vo=ctx.env.get('vo'), **kwargs) except DataIdentifierNotFound as error: raise generate_http_error(404, 'DataIdentifierNotFound', error.args[0]) except UnsupportedStatus as error: raise generate_http_error(409, 'UnsupportedStatus', error.args[0]) except UnsupportedOperation as error: raise generate_http_error(409, 'UnsupportedOperation', error.args[0]) except AccessDenied as error: raise generate_http_error(401, 'AccessDenied', 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 OK()