mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-05 02:41:14 -05:00
Do extra code style checks with flake8-bugbear
Flake8 Bugbear checks for some extra things that aren’t code style errors, but are likely to introduce bugs or unexpected behaviour. A good example is having mutable default function arguments, which get shared between every call to the function and therefore mutating a value in one place can unexpectedly cause it to change in another. This commit enables all the extra warnings provided by Flake8 Bugbear, except for: - the line length one (because we already lint for that separately) - B903 Data class should either be immutable or use `__slots__` because this seems to false-positive on some of our custom exceptions - B902 Invalid first argument 'cls' used for instance method because some SQLAlchemy decorators (eg `declared_attr`) make things that aren’t formally class methods take a class not an instance as their first argument It disables: - _B306: BaseException.message is removed in Python 3_ because I think our exceptions have a custom structure that means the `.message` attribute is still present Matches the work done in other repos: - https://github.com/alphagov/notifications-admin/pull/3172/files
This commit is contained in:
@@ -104,8 +104,9 @@ def __format_message(e):
|
||||
error_path = e.path.popleft()
|
||||
# no need to catch IndexError exception explicity as
|
||||
# error_path is None if e.path has no items
|
||||
finally:
|
||||
return error_path
|
||||
except Exception:
|
||||
pass
|
||||
return error_path
|
||||
|
||||
def get_error_message(e):
|
||||
# e.cause is an exception (such as InvalidPhoneError). if it's not present it was a standard jsonschema error
|
||||
|
||||
Reference in New Issue
Block a user