#!/usr/bin/env python# -*- coding: UTF-8 -*-# Copyright 2007-2008 VEB IT# See COPYING for distribution information.# $Id$"""Exception classes for Virtual Mail Manager"""fromconstants.VERSIONimportVERSION__author__='Pascal Volk <p.volk@veb-it.de>'__version__=VERSION__revision__='rev '+'$Rev$'.split()[1]__date__='$Date$'.split()[1]classVMMException(Exception):"""Exception class for VirtualMailManager exceptions"""def__init__(self,msg,code):Exception.__init__(self,msg)self._code=int(code)### for older python versions, like py 2.4.4 on OpenBSD 4.2ifnothasattr(self,'message'):self.message=msgdefmsg(self):"""Returns the exception message."""returnself.messagedefcode(self):"""Returns the numeric exception error code."""returnself._codeclassVMMConfigException(VMMException):"""Exception class for Configurtion exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMPermException(VMMException):"""Exception class for permissions exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMNotRootException(VMMException):"""Exception class for non-root exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMDomainException(VMMException):"""Exception class for Domain exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMAliasDomainException(VMMException):"""Exception class for AliasDomain exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMAccountException(VMMException):"""Exception class for Account exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMAliasException(VMMException):"""Exception class for Alias exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMMailLocationException(VMMException):"""Exception class for MailLocation exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)classVMMTransportException(VMMException):"""Exception class for Transport exceptions"""def__init__(self,msg,code):VMMException.__init__(self,msg,code)