view roundup/exceptions.py @ 7359:3a98a81c6e57

Reorg multiple sections consolidate what you can/can't do to the schema into one section and move to the top of the Tracker Schema section.. Also outline how you *can* change the type of a property. In the "Classes and Properties - creating a new information store section", add new Method subsection after Properties subsection. Place all 4 method sections in there moving them from below. Move IssueClass section before FileClass section because IssueClass incorporates links to FileClass not the other way around. Fix indexes.
author John Rouillard <rouilj@ieee.org>
date Tue, 16 May 2023 02:33:39 -0400
parents e16b7d47fdb2
children 273c8c2b5042
line wrap: on
line source

"""Exceptions for use across all Roundup components.
"""

__docformat__ = 'restructuredtext'


class RoundupException(Exception):
    pass


class LoginError(RoundupException):
    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

Roundup Issue Tracker: http://roundup-tracker.org/