Camelot specific subclasses of Exception
This exception is raised by the GUI when the user wants to cancel an action, this exception is then past to the model thread
This exception is raised by the Action mechanism when the action requested something from the GUI but an unexpected event occured. The action can choose to ignore it or handle it.
Raise this exception to inform the user he did something wrong, without showing a stack trace or other internals. Raising this exception won’t log stack traces either, as the occurance of this exception is considered a non-event for the developer:
from camelot.core.exception import UserException
from camelot.core.utils import ugettext
if not dvd.empty:
raise UserException( ugettext('Could not burn movie to non empty DVD'),
resolution = ugettext('Insert an empty DVD and retry') )
Will popup a gentle dialog for the user :