* 'VirtualMailManager/VirtualMailManager.py'
- Renamed wrapper methods from »object_action« to »objectAction«
* 'vmm'
- Accommodated method calls to new method names
#!/usr/bin/env python# -*- coding: UTF-8 -*-# Copyright 2008 VEB IT# See COPYING for distribution information.# $Id$"""Virtual Mail Manager's DomainAlias class to manage alias domains."""fromconstants.VERSIONimportVERSION__author__='Pascal Volk <p.volk@veb-it.de>'__version__=VERSION__revision__='rev '+'$Rev$'.split()[1]__date__='$Date$'.split()[1]fromExceptionsimportVMMDomainAliasExceptionasVDAEimportconstants.ERRORasERRimportVirtualMailManagerasVMMclassDomainAlias:"""Class to manage e-mail alias domains."""def__init__(self,dbh,domainname,targetDomain=None):self._dbh=dbhself.__name=VMM.VirtualMailManager.chkDomainname(domainname)self.__gid=0self._domain=targetDomainself._exists()def_exists(self):dbc=self._dbh.cursor()dbc.execute('SELECT gid, is_primary FROM domain_name WHERE domainname\ = %s',self.__name)alias=dbc.fetchone()dbc.close()ifaliasisnotNone:self.__gid,primary=aliasifprimary:raiseVDAE(_(u"The domain »%s« is a primary domain.")%self.__name,ERR.DOMAIN_ALIAS_ISDOMAIN)defsave(self):ifself.__gid>0:raiseVDAE(_(u'The domain alias »%s« already exists.')%self.__name,ERR.DOMAIN_ALIAS_EXISTS)ifself._domainisNone:raiseVDAE(_(u'No destination domain for alias domain denoted.'),ERR.DOMAIN_ALIAS_NO_DOMDEST)ifself._domain._id<1:raiseVDAE(_(u"The target domain »%s« doesn't exist yet.")%self._domain._name,ERR.NO_SUCH_DOMAIN)dbc=self._dbh.cursor()dbc.execute('INSERT INTO domain_name (domainname, gid, is_primary)\ VALUES (%s, %s, FALSE)',self.__name,self._domain._id)self._dbh.commit()dbc.close()definfo(self):ifself.__gid>0:dbc=self._dbh.cursor()dbc.execute('SELECT domainname FROM domain_name WHERE gid = %s\ AND is_primary',self.__gid)domain=dbc.fetchone()dbc.close()ifdomainisnotNone:return_(u"The domain alias »%(alias)s« belongs to »%(dom)s«.")\%{'alias':self.__name,'dom':domain[0]}else:# an almost unlikely case, isn't it?raiseVDAE(_(u'There is no primary domain for the domain alias »%s«.')\%self.__name,ERR.NO_SUCH_DOMAIN)else:raiseVDAE(_(u"The domain alias »%s« doesn't exist yet.")%self.__name,ERR.NO_SUCH_DOMAIN_ALIAS)defdelete(self):ifself.__gid>0:dbc=self._dbh.cursor()dbc.execute('DELETE FROM domain_name WHERE domainname = %s\ AND NOT is_primary',self.__name)ifdbc.rowcount>0:self._dbh.commit()else:raiseVDAE(_(u"The domain alias »%s« doesn't exist yet.")%self.__name,ERR.NO_SUCH_DOMAIN_ALIAS)