1+ # Copyright (C) 2023 - 2025 ANSYS, Inc. and/or its affiliates.
2+ # SPDX-License-Identifier: MIT
3+ #
4+ #
5+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6+ # of this software and associated documentation files (the "Software"), to deal
7+ # in the Software without restriction, including without limitation the rights
8+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+ # copies of the Software, and to permit persons to whom the Software is
10+ # furnished to do so, subject to the following conditions:
11+ #
12+ # The above copyright notice and this permission notice shall be included in all
13+ # copies or substantial portions of the Software.
14+ #
15+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+ # SOFTWARE.
22+ """Module containing the commands service implementation for v0."""
23+
24+ import grpc
25+
26+ from ansys .geometry .core .errors import protect_grpc
27+
28+ from ..base .commands import GRPCCommandsService
29+
30+
31+ class GRPCCommandsServiceV0 (GRPCCommandsService ):
32+ """Commands service for gRPC communication with the Geometry server.
33+
34+ This class provides methods to call commands in the
35+ Geometry server using gRPC. It is specifically designed for the v0
36+ version of the Geometry API.
37+
38+ Parameters
39+ ----------
40+ channel : grpc.Channel
41+ The gRPC channel to the server.
42+ """
43+
44+ @protect_grpc
45+ def __init__ (self , channel : grpc .Channel ): # noqa: D102
46+ from ansys .api .geometry .v0 .commands_pb2_grpc import CommandsStub
47+
48+ self .stub = CommandsStub (channel )
49+
50+ @protect_grpc
51+ def set_name (self , ** kwargs ): # noqa: D102
52+ from ansys .api .dbu .v0 .dbumodels_pb2 import EntityIdentifier
53+ from ansys .api .geometry .v0 .commands_pb2 import RenameObjectRequest
54+
55+ # Create the request - assumes all inputs are valid and of the proper type
56+ request = RenameObjectRequest (
57+ selection = [EntityIdentifier (id = id ) for id in kwargs ["selection_ids" ]],
58+ name = kwargs ["name" ],
59+ )
60+
61+ # Call the gRPC service
62+ result = self .stub .RenameObject (request )
63+
64+ # Return the result - formatted as a dictionary
65+ return {
66+ "success" : result .success ,
67+ }
0 commit comments