11import logging
22import time
33from threading import Event , Thread
4- from typing import Callable , Iterator , Optional
4+ from typing import Callable , Iterator
55
66from isar .config .settings import settings
77from isar .services .utilities .mqtt_utilities import (
2424from robot_interface .telemetry .mqtt_client import MqttClientInterface
2525
2626
27- def get_next_task (task_iterator : Iterator [TASKS ]) -> Optional [ TASKS ] :
27+ def get_next_task (task_iterator : Iterator [TASKS ]) -> TASKS | None :
2828 try :
2929 return next (task_iterator )
3030 except StopIteration :
@@ -70,13 +70,13 @@ def __init__(
7070 self .mission_id : str = mission .id
7171 self .tasks = mission .tasks
7272
73- self .error_message : Optional [ ErrorMessage ] = None
73+ self .error_message : ErrorMessage | None = None
7474
7575 Thread .__init__ (self , name = "Robot mission monitoring thread" )
7676
7777 def _get_task_status (self , task_id : str ) -> TaskStatus :
7878 task_status : TaskStatus = TaskStatus .NotStarted
79- failed_task_error : Optional [ ErrorMessage ] = None
79+ failed_task_error : ErrorMessage | None = None
8080 request_status_failure_counter : int = 0
8181
8282 while (
@@ -137,7 +137,7 @@ def _get_task_status(self, task_id: str) -> TaskStatus:
137137
138138 def _get_mission_status (self , mission_id : str ) -> MissionStatus :
139139 mission_status : MissionStatus = MissionStatus .NotStarted
140- failed_mission_error : Optional [ ErrorMessage ] = None
140+ failed_mission_error : ErrorMessage | None = None
141141 request_status_failure_counter : int = 0
142142
143143 while (
@@ -225,7 +225,7 @@ def _get_mission_status_based_on_task_status(self) -> MissionStatus:
225225 else :
226226 return MissionStatus .Successful
227227
228- def _get_and_handle_task_status (self , current_task : TASKS ) -> Optional [ TASKS ] :
228+ def _get_and_handle_task_status (self , current_task : TASKS ) -> TASKS | None :
229229 try :
230230 new_task_status = self ._get_task_status (current_task .id )
231231 except RobotTaskStatusException as e :
@@ -253,7 +253,7 @@ def _get_and_handle_task_status(self, current_task: TASKS) -> Optional[TASKS]:
253253 return next_task
254254 return current_task
255255
256- def _handle_stopped_mission (self , current_task : Optional [ TASKS ] ) -> None :
256+ def _handle_stopped_mission (self , current_task : TASKS | None ) -> None :
257257 if current_task is not None :
258258 current_task .status = TaskStatus .Cancelled
259259 publish_task_status (self .mqtt_publisher , current_task , self .mission_id )
@@ -267,7 +267,7 @@ def _handle_stopped_mission(self, current_task: Optional[TASKS]) -> None:
267267 def run (self ) -> None :
268268
269269 self .task_iterator : Iterator [TASKS ] = iter (self .tasks )
270- current_task : Optional [ TASKS ] = get_next_task (self .task_iterator )
270+ current_task : TASKS | None = get_next_task (self .task_iterator )
271271 current_task .status = TaskStatus .NotStarted # type: ignore
272272 current_mission_status = MissionStatus .NotStarted
273273
0 commit comments