Skip to content

Commit 8ff6d18

Browse files
committed
update timeout hadnling - define default value only once
* definition in OMSessionABC * move `set_timeout()` to this class * all other places use `timeout: Optional[float] = None`
1 parent 08b0047 commit 8ff6d18

1 file changed

Lines changed: 25 additions & 24 deletions

File tree

OMPython/OMCSession.py

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -927,7 +927,7 @@ class OMSessionABC(metaclass=OMSessionMeta):
927927

928928
def __init__(
929929
self,
930-
timeout: float = 10.00,
930+
timeout: Optional[float] = None,
931931
**kwargs,
932932
) -> None:
933933
"""
@@ -939,7 +939,8 @@ def __init__(
939939
self.model_execution_local = False
940940

941941
# store variables
942-
self._timeout = timeout
942+
self._timeout = 10.0
943+
self.set_timeout(timeout=timeout)
943944
# command prefix (to be used for docker or WSL)
944945
self._cmd_prefix: list[str] = []
945946

@@ -948,6 +949,19 @@ def __post_init__(self) -> None:
948949
Post initialisation method.
949950
"""
950951

952+
def set_timeout(self, timeout: Optional[float] = None) -> float:
953+
"""
954+
Set the timeout to be used for OMC communication (OMCSession).
955+
956+
The defined value is set and the current value is returned. If None is provided as argument, nothing is changed.
957+
"""
958+
retval = self._timeout
959+
if timeout is not None:
960+
if timeout <= 0.0:
961+
raise OMCSessionException(f"Invalid timeout value: {timeout}!")
962+
self._timeout = timeout
963+
return retval
964+
951965
def get_cmd_prefix(self) -> list[str]:
952966
"""
953967
Get session definition used for this instance of OMPath.
@@ -1040,7 +1054,7 @@ class OMCSessionABC(OMSessionABC, metaclass=abc.ABCMeta):
10401054

10411055
def __init__(
10421056
self,
1043-
timeout: float = 10.00,
1057+
timeout: Optional[float] = None,
10441058
**kwargs,
10451059
) -> None:
10461060
"""
@@ -1156,19 +1170,6 @@ def _timeout_loop(
11561170
yield True
11571171
yield False
11581172

1159-
def set_timeout(self, timeout: Optional[float] = None) -> float:
1160-
"""
1161-
Set the timeout to be used for OMC communication (OMCSession).
1162-
1163-
The defined value is set and the current value is returned. If None is provided as argument, nothing is changed.
1164-
"""
1165-
retval = self._timeout
1166-
if timeout is not None:
1167-
if timeout <= 0.0:
1168-
raise OMCSessionException(f"Invalid timeout value: {timeout}!")
1169-
self._timeout = timeout
1170-
return retval
1171-
11721173
@staticmethod
11731174
def escape_str(value: str) -> str:
11741175
"""
@@ -1432,7 +1433,7 @@ class OMCSessionPort(OMCSessionABC):
14321433
def __init__(
14331434
self,
14341435
omc_port: str,
1435-
timeout: float = 10.0,
1436+
timeout: Optional[float] = None,
14361437
) -> None:
14371438
super().__init__(timeout=timeout)
14381439
self._omc_port = omc_port
@@ -1445,7 +1446,7 @@ class OMCSessionLocal(OMCSessionABC):
14451446

14461447
def __init__(
14471448
self,
1448-
timeout: float = 10.00,
1449+
timeout: Optional[float] = None,
14491450
omhome: Optional[str | os.PathLike] = None,
14501451
) -> None:
14511452

@@ -1526,7 +1527,7 @@ class OMCSessionZMQ(OMSessionABC):
15261527

15271528
def __init__(
15281529
self,
1529-
timeout: float = 10.00,
1530+
timeout: Optional[float] = None,
15301531
omhome: Optional[str] = None,
15311532
omc_process: Optional[OMCSessionABC] = None,
15321533
) -> None:
@@ -1597,7 +1598,7 @@ class OMCSessionDockerABC(OMCSessionABC, metaclass=abc.ABCMeta):
15971598

15981599
def __init__(
15991600
self,
1600-
timeout: float = 10.0,
1601+
timeout: Optional[float] = None,
16011602
docker: Optional[str] = None,
16021603
dockerContainer: Optional[str] = None,
16031604
dockerExtraArgs: Optional[list] = None,
@@ -1752,7 +1753,7 @@ class OMCSessionDocker(OMCSessionDockerABC):
17521753

17531754
def __init__(
17541755
self,
1755-
timeout: float = 10.00,
1756+
timeout: Optional[float] = None,
17561757
docker: Optional[str] = None,
17571758
dockerExtraArgs: Optional[list] = None,
17581759
dockerOpenModelicaPath: str | os.PathLike = "omc",
@@ -1905,7 +1906,7 @@ class OMCSessionDockerContainer(OMCSessionDockerABC):
19051906

19061907
def __init__(
19071908
self,
1908-
timeout: float = 10.00,
1909+
timeout: Optional[float] = None,
19091910
dockerContainer: Optional[str] = None,
19101911
dockerExtraArgs: Optional[list] = None,
19111912
dockerOpenModelicaPath: str | os.PathLike = "omc",
@@ -2005,7 +2006,7 @@ class OMCSessionWSL(OMCSessionABC):
20052006

20062007
def __init__(
20072008
self,
2008-
timeout: float = 10.00,
2009+
timeout: Optional[float] = None,
20092010
wsl_omc: str = 'omc',
20102011
wsl_distribution: Optional[str] = None,
20112012
wsl_user: Optional[str] = None,
@@ -2093,7 +2094,7 @@ class OMSessionRunner(OMSessionABC):
20932094

20942095
def __init__(
20952096
self,
2096-
timeout: float = 10.0,
2097+
timeout: Optional[float] = None,
20972098
version: str = "1.27.0",
20982099
ompath_runner: Type[OMPathRunnerABC] = OMPathRunnerLocal,
20992100
cmd_prefix: Optional[list[str]] = None,

0 commit comments

Comments
 (0)