Skip to content

feat: enhance USB backend error handling with specific permission exception #124

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 23, 2025

Conversation

robberwick
Copy link
Collaborator

This pull request includes an important update to the get_attached_blinkstick_devices function in the src/blinkstick/backends/unix_like.py file. The changes improve error handling by adding a try-except block to catch USB errors and provide more specific error messages, and signposting the user towards udev rules as a posible remediation.

Error handling improvements:

  • Added a try-except block around the device retrieval logic to catch usb.core.USBError exceptions.
  • Included a specific check for "Operation not permitted" errors to raise a more descriptive USBBackendNotAvailable exception when there are permission issues

@robberwick robberwick requested a review from Copilot February 23, 2025 10:01
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

src/blinkstick/backends/unix_like.py:72

  • [nitpick] The error message could be more informative. Consider adding details on how to add a udev rule or a link to documentation.
"Permission denied accessing USB backend. Does a udev rule need to be added?"

src/blinkstick/backends/unix_like.py:68

  • Ensure that the new error handling behavior is covered by tests, specifically for permission issues.
except usb.core.USBError as e:

@robberwick robberwick merged commit ba3431d into arvydas:release/2.0-dev Feb 23, 2025
17 checks passed
@robberwick robberwick deleted the release/udev-rule branch February 23, 2025 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant