PTHMINT-51: Fix ruff BLE001#32
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request improves error handling by replacing broad Exception catching with specific pydantic.ValidationError handling in manager classes across the codebase, addressing the ruff BLE001 linting rule.
- Replace generic
Exceptionhandling with targetedValidationErrorhandling for data validation - Add
ValidationErrorimports to all affected manager files - Remove unnecessary blank lines in import sections for code cleanup
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/multisafepay/api/paths/transactions/transaction_manager.py | Added ValidationError import and updated exception handling for transaction listing |
| src/multisafepay/api/paths/recurring/recurring_manager.py | Added ValidationError import and updated exception handling for token operations |
| src/multisafepay/api/paths/payment_methods/payment_method_manager.py | Added ValidationError import and updated exception handling for payment method operations |
| src/multisafepay/api/paths/orders/order_manager.py | Added ValidationError import and updated exception handling for order operations |
| src/multisafepay/api/paths/me/me_manager.py | Added ValidationError import and updated exception handling for user data |
| src/multisafepay/api/paths/issuers/issuer_manager.py | Added ValidationError import and updated exception handling for issuer operations |
| src/multisafepay/api/paths/gateways/gateway_manager.py | Added ValidationError import and updated exception handling for gateway operations |
| src/multisafepay/api/paths/categories/category_manager.py | Added ValidationError import and updated exception handling for category operations |
| src/multisafepay/api/paths/capture/capture_manager.py | Added ValidationError import and updated exception handling for capture operations |
| src/multisafepay/api/paths/auth/auth_manager.py | Added ValidationError import and updated exception handling for auth operations |
| pyproject.toml | Removed BLE001 from ignore list to enable linting for bare exception handling |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #32 +/- ##
==========================================
+ Coverage 90.49% 90.53% +0.04%
==========================================
Files 107 107
Lines 2324 2334 +10
==========================================
+ Hits 2103 2113 +10
Misses 221 221 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 pull request improves error handling across multiple manager classes in the codebase by refining how data validation exceptions are caught and reported. Specifically, it replaces broad exception handling with targeted handling of
pydantic.ValidationErrorwhen parsing or constructing data models from API responses. This change ensures that only relevant validation errors are caught, leading to clearer, more accurate warning messages and improved maintainability.Error handling improvements:
Replaced generic
Exceptionhandling with explicitValidationErrorhandling frompydanticin all manager classes when parsing API response data into models (e.g.,Order,Gateway,Issuer,Token, etc.), ensuring only schema validation errors are caught and reported. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Added
from pydantic import ValidationErrorimports to all relevant manager files to support the new error handling approach. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Code cleanup:
Configuration update:
pyproject.tomlto remove"BLE001"from the ignore list, possibly to enable linting for a specific code style rule.