Mercurial > p > roundup > code
view frontends/ZRoundup/__init__.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 | d26921b851c3 |
| children |
line wrap: on
line source
# Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) # This module is free software, and you may redistribute it and/or modify # under the same terms as Python, so long as this copyright message and # disclaimer are retained in their original form. # # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # __version__='1.1' import os # figure where ZRoundup is installed here = None if 'INSTANCE_HOME' in os.environ: here = os.environ['INSTANCE_HOME'] path = os.path.join(here, 'Products', 'ZRoundup') if not os.path.exists(path): path = os.path.join(here, 'lib', 'python', 'Products', 'ZRoundup') if not os.path.exists(path): here = None if here is None: from __main__ import here path = os.path.join(here, 'Products', 'ZRoundup') if not os.path.exists(path): path = os.path.join(here, 'lib', 'python', 'Products', 'ZRoundup') if not os.path.exists(path): raise ValueError("Can't determine where ZRoundup is installed") # product initialisation from .ZRoundup import ZRoundup, manage_addZRoundupForm, manage_addZRoundup def initialize(context): context.registerClass( ZRoundup, meta_type = 'Z Roundup', constructors = ( manage_addZRoundupForm, manage_addZRoundup ) ) # set up the icon from ImageFile import ImageFile misc_ = { 'icon': ImageFile('icons/tick_symbol.gif', path), } # vim: set filetype=python ts=4 sw=4 et si
