Centralize VWS result code exception mapping#2885
Merged
adamtheturtle merged 1 commit intomainfrom Feb 25, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This centralizes VWS/VuMark result-code exception mapping via
VWSError.from_result_code()backed by a registry onVWSError. The mapping is registered once invws_exceptions.py, avoiding lazy imports while keepingbase_exceptions.pyfree of subclass imports. Sync and async VWS/VuMark clients now raise through the shared factory instead of duplicating inline dictionaries. Added a focused test forVWSError.from_result_code, anduv run --all-extras pytestpasses (300 tests).Note
Medium Risk
Centralizes how HTTP error responses are turned into typed exceptions across sync/async clients; failures in the registry (missing/incorrect
result_codemappings) could change which exceptions are raised at runtime, but scope is limited to error handling paths.Overview
Centralizes VWS/VuMark error mapping. Sync and async VWS/VuMark clients now raise Vuforia result-code errors via a shared
VWSError.from_result_code()factory instead of maintaining per-call-siteresult_code→exception dictionaries.VWSErrorgains a registry (register_exceptions_by_result_code) and factory method, with the mapping registered once invws_exceptions.py. Tests add coverage ensuringfrom_result_codereturns the correct mapped exception instance.Written by Cursor Bugbot for commit ba1d67e. This will update automatically on new commits. Configure here.