Mercurial > p > roundup > code
comparison roundup/cgi/actions.py @ 8408:e882a5d52ae5
refactor: move RateLimitExceeded to roundup.cgi.exceptions
RateLimitExceeded is an HTTP exception that raises code 429. Move it
to roundup.cgi.exceptions where all the other exceptions that result
in http status codes are located. Also make it inherit from
HTTPException since it is one.
Also add docstrings for all HTTP exceptions and order HTTPExceptions
by status code.
BREAKING CHANGE: if somebody is importing RateLimitExceeded they will
need to change their import. I consider it unlikely anybody is using
RateLimitExceeded. Detectors and extensions are unlikely to raise
RateLimitExceeded. So I am leaving it out of the upgrading doc. Just
doc in change log.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 10 Aug 2025 21:27:06 -0400 |
| parents | a81a3cd067fa |
| children | ef1ea918b07a |
comparison
equal
deleted
inserted
replaced
| 8407:700424ba015c | 8408:e882a5d52ae5 |
|---|---|
| 9 from roundup.anypy import urllib_ | 9 from roundup.anypy import urllib_ |
| 10 from roundup.anypy.cgi_ import cgi | 10 from roundup.anypy.cgi_ import cgi |
| 11 from roundup.anypy.html import html_escape | 11 from roundup.anypy.html import html_escape |
| 12 from roundup.anypy.strings import StringIO | 12 from roundup.anypy.strings import StringIO |
| 13 from roundup.cgi import exceptions, templating | 13 from roundup.cgi import exceptions, templating |
| 14 from roundup.cgi.exceptions import RateLimitExceeded | |
| 14 from roundup.cgi.timestamp import Timestamped | 15 from roundup.cgi.timestamp import Timestamped |
| 15 from roundup.exceptions import RateLimitExceeded, Reject, RejectRaw | 16 from roundup.exceptions import Reject, RejectRaw |
| 16 from roundup.i18n import _ | 17 from roundup.i18n import _ |
| 17 from roundup.mailgw import uidFromAddress | 18 from roundup.mailgw import uidFromAddress |
| 18 from roundup.rate_limit import Gcra, RateLimit | 19 from roundup.rate_limit import Gcra, RateLimit |
| 19 | 20 |
| 20 # Also add action to client.py::Client.actions property | 21 # Also add action to client.py::Client.actions property |
