KeyError in publishCameraState when camera is not ready on PTZ camera #55
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On Axis P5532-E, axis_camera.axis_ptz.publishCameraState will launch a KeyError if the ROS driver is started too soon after the camera has booted. I did not fully investigated it but, for some reason, even though the GET request returns a response, it does not have the 'zoom' field. Therefore, when publishCameraState tries to access self.cameraPosition['zoom'], a KeyError is raised, causing the Thread polling the telemetry to crash. I added a catch KeyError in publishCameraState.