[v17,2/5] dts: replace the or operator in third party types
Checks
Commit Message
When the DTS dependencies are not installed when building DTS API
documentation, the or operator produces errors when used with types from
those libraries:
autodoc: failed to import module 'remote_session' from module
'framework'; the following exception was raised:
Traceback (most recent call last):
...
TypeError: unsupported operand type(s) for |: 'Transport' and 'NoneType'
The third part type here is Transport from the paramiko library.
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
dts/framework/remote_session/interactive_remote_session.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Wed, Aug 14, 2024 at 11:05 AM Juraj Linkeš
<juraj.linkes@pantheon.tech> wrote:
>
> When the DTS dependencies are not installed when building DTS API
> documentation, the or operator produces errors when used with types from
> those libraries:
> autodoc: failed to import module 'remote_session' from module
> 'framework'; the following exception was raised:
> Traceback (most recent call last):
> ...
> TypeError: unsupported operand type(s) for |: 'Transport' and 'NoneType'
>
> The third part type here is Transport from the paramiko library.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
@@ -5,6 +5,7 @@
import socket
import traceback
+from typing import Union
from paramiko import AutoAddPolicy, SSHClient, Transport # type: ignore[import-untyped]
from paramiko.ssh_exception import ( # type: ignore[import-untyped]
@@ -52,7 +53,7 @@ class InteractiveRemoteSession:
session: SSHClient
_logger: DTSLogger
_node_config: NodeConfiguration
- _transport: Transport | None
+ _transport: Union[Transport, None]
def __init__(self, node_config: NodeConfiguration, logger: DTSLogger) -> None:
"""Connect to the node during initialization.