Skip to content

Commit e4d6a76

Browse files
committed
fix: semver usage
1 parent f289216 commit e4d6a76

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/ansys/geometry/core/connection/client.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import grpc
3434
from grpc._channel import _InactiveRpcError
3535
from grpc_health.v1 import health_pb2, health_pb2_grpc
36+
import semver
3637

3738
from ansys.geometry.core.connection.backend import BackendType
3839
from ansys.geometry.core.connection.defaults import DEFAULT_HOST, DEFAULT_PORT, MAX_MESSAGE_LENGTH
@@ -193,10 +194,12 @@ def __init__(
193194
# retrieve the backend version
194195
if hasattr(grpc_backend_response, "version"):
195196
ver = grpc_backend_response.version
196-
self._backend_version = f"{ver.major_release}.{ver.minor_release}.{ver.service_pack}"
197+
self._backend_version = semver.Version(
198+
ver.major_release, ver.minor_release, ver.service_pack
199+
)
197200
else:
198201
logger.warning("The backend version is only available after 24.1 version.")
199-
self._backend_version = "24.1.0"
202+
self._backend_version = semver.Version(24, 1, 0)
200203

201204
@property
202205
def backend_type(self) -> BackendType:
@@ -214,15 +217,14 @@ def backend_type(self) -> BackendType:
214217
return self._backend_type
215218

216219
@property
217-
def backend_version(self) -> str:
220+
def backend_version(self) -> semver.Version:
218221
"""
219222
Get the current backend version.
220223
221224
Returns
222225
-------
223-
str
224-
Backend version in semantic versioning format (that is, Ansys 24R1 SP2
225-
would be ``24.1.2``).
226+
semver.Version
227+
Backend version.
226228
"""
227229
return self._backend_version
228230

src/ansys/geometry/core/misc/checks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,19 +331,19 @@ def min_backend_version(major: int, minor: int, service_pack: int):
331331

332332
def backend_version_decorator(method):
333333
def wrapper(self, *args, **kwargs):
334-
method_version = f"{major}.{minor}.{service_pack}"
334+
method_version = semver.Version(major, minor, service_pack)
335335
if hasattr(self, "_grpc_client"):
336336
if self._grpc_client is None:
337337
raise GeometryRuntimeError(
338338
"The client is not available. You must initialize the client first."
339339
)
340340
elif self._grpc_client.backend_version is not None:
341-
comp = semver.Version.compare(method_version, self._grpc_client.backend_version)
341+
comp = method_version.compare(self._grpc_client.backend_version)
342342
# if comp is 1, method version is higher than backend version.
343343
if comp == 1:
344344

345345
# Check if the version is "0.0.0" (i.e., the version is not available)
346-
if self._grpc_client.backend_version == "0.0.0":
346+
if str(self._grpc_client.backend_version) == "0.0.0":
347347
raise GeometryRuntimeError(
348348
f"The method '{method.__name__}' requires a minimum Ansys release version of " # noqa: E501
349349
+ f"{method_version}, but the current version used is 24.1.0 or lower." # noqa: E501

0 commit comments

Comments
 (0)