Mercurial > p > roundup > code
view roundup/exceptions.py @ 8224:5913ec1673c2
refactor: extract code as method from do_import
This started by trying to fix a resource error where the os.scandir
iterator was not closed for some reason (it should have been exhausted
and close). While the ResourceWarning is fixed with:
with os.scandir() as ...:
indented existing code
it breaks under python2. Trying a python2 friendly option:
dirscan = os.scandir()
...
if hasattr(dirscan,'close'):
dirscan.close()
doesn't fix the resource warning.
Using the 'with os.scandir()...' indented a nested block too far so I
extracted it into another method.
It is only this method that survives 8-(.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 18 Dec 2024 21:49:48 -0500 |
| parents | 273c8c2b5042 |
| children | e882a5d52ae5 |
line wrap: on
line source
"""Exceptions for use across all Roundup components. """ __docformat__ = 'restructuredtext' class RoundupException(Exception): pass class LoginError(RoundupException): pass class RateLimitExceeded(Exception): pass class Unauthorised(RoundupException): pass class RejectBase(RoundupException): pass class Reject(RejectBase): """An auditor may raise this exception when the current create or set operation should be stopped. It is up to the specific interface invoking the create or set to handle this exception sanely. For example: - mailgw will trap and ignore Reject for file attachments and messages - cgi will trap and present the exception in a nice format """ pass class RejectRaw(Reject): """ Performs the same function as Reject, except HTML in the message is not escaped when displayed to the user. """ pass class UsageError(ValueError): pass # vim: set filetype=python ts=4 sw=4 et si
