VirtualMailManager/Exceptions.py
author Pascal Volk <neverseen@users.sourceforge.net>
Sun, 24 Jan 2010 06:40:38 +0000
branchv0.6.x
changeset 174 974bafa59330
parent 162 0ac9ef587769
child 214 84e6e898e6c5
permissions -rw-r--r--
VMM/Config: reworked configuration handling. Implemented LazyConfig(RawConfigParser) and LazyConfigOption(object) Rewrote Config class: * use default values and added some validation stuff * removed attributes: __VMMsections and __changes * replaced methods __chkSections() and __chkOptions() with __chkCfg VMM/VMM: Adjusted to reworked Config class. * removed attribute __cfgSections * removed methods: cfgGetBoolean(), cfgGetInt(), cfgGetString() * added methods: cfgDget(), cfgPget(), cfgSet() VMM/__init__: added function get_unicode() vmm: Adjusted to replaced methods in VMM/VMM.

# -*- coding: UTF-8 -*-
# Copyright (c) 2007 - 2010, Pascal Volk
# See COPYING for distribution information.

"""Exception classes for Virtual Mail Manager"""

class VMMException(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.2
        if not hasattr(self, 'message'):
            self.message = msg

    def msg(self):
        """Returns the exception message."""
        return self.message

    def code(self):
        """Returns the numeric exception error code."""
        return self._code

class VMMConfigException(VMMException):
    """Exception class for Configurtion exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMPermException(VMMException):
    """Exception class for permissions exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMNotRootException(VMMException):
    """Exception class for non-root exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMDomainException(VMMException):
    """Exception class for Domain exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMAliasDomainException(VMMException):
    """Exception class for AliasDomain exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMAccountException(VMMException):
    """Exception class for Account exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMAliasException(VMMException):
    """Exception class for Alias exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMEmailAddressException(VMMException):
    """Exception class for EmailAddress exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMMailLocationException(VMMException):
    """Exception class for MailLocation exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMRelocatedException(VMMException):
    """Exception class for Relocated exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)

class VMMTransportException(VMMException):
    """Exception class for Transport exceptions"""
    def __init__(self, msg, code):
        VMMException.__init__(self, msg, code)