isar 1.23.2__py3-none-any.whl → 1.23.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of isar might be problematic. Click here for more details.

@@ -128,7 +128,7 @@ class SchedulingUtilities:
128
128
  """
129
129
  is_state_machine_ready_to_receive_mission = state == States.Idle
130
130
  if not is_state_machine_ready_to_receive_mission:
131
- error_message = f"Conflict - Mission already in progress - State: {state}"
131
+ error_message = f"Conflict - Robot is not idle - State: {state}"
132
132
  self.logger.warning(error_message)
133
133
  raise HTTPException(status_code=HTTPStatus.CONFLICT, detail=error_message)
134
134
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isar
3
- Version: 1.23.2
3
+ Version: 1.23.3
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
@@ -64,7 +64,7 @@ isar/services/service_connections/mqtt/robot_info_publisher.py,sha256=5G6ahslydh
64
64
  isar/services/service_connections/stid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  isar/services/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  isar/services/utilities/queue_utilities.py,sha256=Pw3hehSwkXJNeDv-bDVDfs58VOwtt3i5hpiJ2ZpphuQ,1225
67
- isar/services/utilities/scheduling_utilities.py,sha256=cLnB97EkoZM0GN6kG5ezpzxLzACSoHU_Mv86ncyHdfM,8386
67
+ isar/services/utilities/scheduling_utilities.py,sha256=UUMxhudY2mQRG6Edjq6BG7oxwlqmcu5h6fMyw4Vhl_o,8376
68
68
  isar/services/utilities/threaded_request.py,sha256=py4G-_RjnIdHljmKFAcQ6ddqMmp-ZYV39Ece-dqRqjs,1874
69
69
  isar/state_machine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  isar/state_machine/state_machine.py,sha256=A7qAaXEnErmPQ7--sM7w9VabceS0qJOProlmwMb9iaU,21299
@@ -90,7 +90,7 @@ robot_interface/robot_interface.py,sha256=Jbfh1L7lPCjfHS6l3oQ_r0ACZw-KCazVc09Phx
90
90
  robot_interface/test_robot_interface.py,sha256=FV1urn7SbsMyWBIcTKjsBwAG4IsXeZ6pLHE0mA9EGGs,692
91
91
  robot_interface/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  robot_interface/models/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- robot_interface/models/exceptions/robot_exceptions.py,sha256=iRtN_JzwOSeuO0xBrGiWFtbIhWuajsw-Zg6Cz4y1hzk,9549
93
+ robot_interface/models/exceptions/robot_exceptions.py,sha256=dTNhFguaPumtreYH3rlL-xVDAZk7djZe2CcE1rP3CgE,10064
94
94
  robot_interface/models/initialize/__init__.py,sha256=rz5neEDr59GDbzzI_FF0DId-C-I-50l113P-h-C_QBY,48
95
95
  robot_interface/models/initialize/initialize_params.py,sha256=2eG5Aq5bDKU6tVkaUMAoc46GERBgyaKkqv6yLupdRLc,164
96
96
  robot_interface/models/inspection/__init__.py,sha256=14wfuj4XZazrigKD7fL98khFKz-eckIpEgPcYRj40Kg,227
@@ -103,14 +103,14 @@ robot_interface/models/robots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
103
103
  robot_interface/models/robots/robot_model.py,sha256=pZQsqhn9hh6XE3EjMZhWMzYqg5oJ4CJ4CXeOASKvEf8,452
104
104
  robot_interface/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
105
  robot_interface/telemetry/media_connection_type.py,sha256=Z8Jayi5SjBJh_xEd5KdS__A6bM-nofbSAedc6u41iAY,91
106
- robot_interface/telemetry/mqtt_client.py,sha256=um7j7XDSAlY6-wWLpBl6ZYjmQ-G0lY7f2_NaZ3ciZ7U,2757
106
+ robot_interface/telemetry/mqtt_client.py,sha256=RoXJFQ4YiaSQpHTlZ2LD-ICRPtfUhylEwgyt_3NE4xM,2916
107
107
  robot_interface/telemetry/payloads.py,sha256=FafpIwsOvcTNtaBZqyOX7r5EjG7nZ2uLNhyJo2l5GiI,1767
108
108
  robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
109
  robot_interface/utilities/json_service.py,sha256=nU2Q_3P9Fq9hs6F_wtUjWtHfl_g1Siy-yDhXXSKwHwg,1018
110
110
  robot_interface/utilities/uuid_string_factory.py,sha256=_NQIbBQ56w0qqO0MUDP6aPpHbxW7ATRhK8HnQiBSLkc,76
111
- isar-1.23.2.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
112
- isar-1.23.2.dist-info/METADATA,sha256=5AyHbYGvN3bT16Mw_aoA2arjS0fFk1QPRpWgc5MahFM,30674
113
- isar-1.23.2.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
114
- isar-1.23.2.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
115
- isar-1.23.2.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
116
- isar-1.23.2.dist-info/RECORD,,
111
+ isar-1.23.3.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
112
+ isar-1.23.3.dist-info/METADATA,sha256=4HTu_oT3RXkcLHUhACMaPw4AhMkC8eJb8Ffr9nwnYZ8,30674
113
+ isar-1.23.3.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
114
+ isar-1.23.3.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
115
+ isar-1.23.3.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
116
+ isar-1.23.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -16,6 +16,7 @@ class ErrorReason(str, Enum):
16
16
  RobotRetrieveDataException: str = "robot_retrieve_data_exception"
17
17
  RobotRetrieveInspectionException: str = "robot_retrieve_inspection_exception"
18
18
  RobotTelemetryException: str = "robot_telemetry_exception"
19
+ RobotTelemetryPoseException: str = "robot_telemetry_pose_exception"
19
20
  RobotMapException: str = "robot_map_exception"
20
21
  RobotTransformException: str = "robot_transform_exception"
21
22
  RobotUnknownErrorException: str = "robot_unknown_error_exception"
@@ -189,6 +190,18 @@ class RobotTelemetryException(RobotException):
189
190
  pass
190
191
 
191
192
 
193
+ # An exception which should be thrown by the robot package if it is unable to retrieve
194
+ # telemetry pose data. It should be used exclusively by the telemetry pose publisher.
195
+ class RobotTelemetryPoseException(RobotException):
196
+ def __init__(self, error_description: str) -> None:
197
+ super().__init__(
198
+ error_reason=ErrorReason.RobotTelemetryPoseException,
199
+ error_description=error_description,
200
+ )
201
+
202
+ pass
203
+
204
+
192
205
  # An exception which should be thrown by the robot package if it is unable to load the
193
206
  # configuration for maps and transformations. This could be caused by faulty
194
207
  # configuration and this exception will cause ISAR to crash as further execution is not
@@ -5,7 +5,10 @@ from datetime import datetime, timezone
5
5
  from queue import Queue
6
6
  from typing import Callable, Tuple
7
7
 
8
- from robot_interface.models.exceptions.robot_exceptions import RobotTelemetryException
8
+ from robot_interface.models.exceptions.robot_exceptions import (
9
+ RobotTelemetryException,
10
+ RobotTelemetryPoseException,
11
+ )
9
12
  from robot_interface.telemetry.payloads import CloudHealthPayload
10
13
  from robot_interface.utilities.json_service import EnhancedJSONEncoder
11
14
 
@@ -63,7 +66,7 @@ class MqttTelemetryPublisher(MqttClientInterface):
63
66
  self.retain: bool = retain
64
67
 
65
68
  def run(self, isar_id: str, robot_name: str) -> None:
66
- self.cloud_healt_topic: str = f"isar/{isar_id}/cloud_health"
69
+ self.cloud_health_topic: str = f"isar/{isar_id}/cloud_health"
67
70
  topic: str
68
71
  payload: str
69
72
 
@@ -71,12 +74,15 @@ class MqttTelemetryPublisher(MqttClientInterface):
71
74
  try:
72
75
  payload = self.telemetry_method(isar_id=isar_id, robot_name=robot_name)
73
76
  topic = self.topic
77
+ except RobotTelemetryPoseException:
78
+ time.sleep(self.interval)
79
+ continue
74
80
  except RobotTelemetryException:
75
81
  payload = json.dumps(
76
82
  CloudHealthPayload(isar_id, robot_name, datetime.now(timezone.utc)),
77
83
  cls=EnhancedJSONEncoder,
78
84
  )
79
- topic = self.cloud_healt_topic
85
+ topic = self.cloud_health_topic
80
86
 
81
87
  self.publish(topic=topic, payload=payload, qos=self.qos, retain=self.retain)
82
88
 
File without changes