# HG changeset patch # User Pascal Volk # Date 1251871733 0 # Node ID 617f27715b018ea15206e07b824939d96bed8b5a # Parent fc09f657082dd7cca511b7a773679d40f4144752 Reorganized module import. Dropped the import of constants.VERSION, when it wasn't really needed. Centralized the import of os, re and locale in VirtualMailManager/__init__.py. Also moved w_std() and w_err() from vmm to the __init__.py. diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Account.py --- a/VirtualMailManager/Account.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Account.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,15 +4,13 @@ """Virtual Mail Manager's Account class to manage e-mail accounts.""" -from constants.VERSION import * - +from __main__ import ERR from Exceptions import VMMAccountException as AccE from Domain import Domain from Transport import Transport from MailLocation import MailLocation from EmailAddress import EmailAddress import VirtualMailManager as VMM -import constants.ERROR as ERR class Account(object): """Class to manage e-mail accounts.""" diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Alias.py --- a/VirtualMailManager/Alias.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Alias.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,12 +4,10 @@ """Virtual Mail Manager's Alias class to manage e-mail aliases.""" -from constants.VERSION import * - +from __main__ import ERR from Exceptions import VMMAliasException as VMMAE from Domain import Domain from EmailAddress import EmailAddress -import constants.ERROR as ERR import VirtualMailManager as VMM class Alias(object): diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/AliasDomain.py --- a/VirtualMailManager/AliasDomain.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/AliasDomain.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,10 +4,8 @@ """Virtual Mail Manager's AliasDomain class to manage alias domains.""" -from constants.VERSION import * - +from __main__ import ERR from Exceptions import VMMAliasDomainException as VADE -import constants.ERROR as ERR import VirtualMailManager as VMM class AliasDomain(object): diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Config.py --- a/VirtualMailManager/Config.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Config.py Wed Sep 02 06:08:53 2009 +0000 @@ -7,15 +7,12 @@ """ -from constants.VERSION import * - from shutil import copy2 from ConfigParser import ConfigParser, MissingSectionHeaderError, ParsingError from cStringIO import StringIO -from __main__ import ENCODING, w_std +from __main__ import ENCODING, ERR, w_std from Exceptions import VMMConfigException -import constants.ERROR as ERR class Config(ConfigParser): """This class is for reading and modifying vmm's configuration file.""" diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Domain.py --- a/VirtualMailManager/Domain.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Domain.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,12 +4,10 @@ """Virtual Mail Manager's Domain class to manage e-mail domains.""" -from constants.VERSION import * - from random import choice +from __main__ import ERR from Exceptions import VMMDomainException as VMMDE -import constants.ERROR as ERR import VirtualMailManager as VMM from Transport import Transport diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/EmailAddress.py --- a/VirtualMailManager/EmailAddress.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/EmailAddress.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,13 +4,9 @@ """Virtual Mail Manager's EmailAddress class to handle e-mail addresses.""" -from constants.VERSION import * - -import re - +from __main__ import re, ERR from Exceptions import VMMEmailAddressException as VMMEAE import VirtualMailManager as VMM -import constants.ERROR as ERR RE_LOCALPART = """[^\w!#$%&'\*\+-\.\/=?^_`{\|}~]""" diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Exceptions.py --- a/VirtualMailManager/Exceptions.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Exceptions.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,8 +4,6 @@ """Exception classes for Virtual Mail Manager""" -from constants.VERSION import * - class VMMException(Exception): """Exception class for VirtualMailManager exceptions""" def __init__(self, msg, code): diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/MailLocation.py --- a/VirtualMailManager/MailLocation.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/MailLocation.py Wed Sep 02 06:08:53 2009 +0000 @@ -5,12 +5,8 @@ """Virtual Mail Manager's MailLocation class to manage the mail_location for accounts.""" -from constants.VERSION import * - -import re - +from __main__ import re, ERR from Exceptions import VMMMailLocationException as MLE -import constants.ERROR as ERR RE_MAILLOCATION = """^\w{1,20}$""" diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Relocated.py --- a/VirtualMailManager/Relocated.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Relocated.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,12 +4,10 @@ """Virtual Mail Manager's Relocated class to manage relocated users.""" -from constants.VERSION import * - +from __main__ import ERR from Exceptions import VMMRelocatedException as VMMRE from Domain import Domain from EmailAddress import EmailAddress -import constants.ERROR as ERR import VirtualMailManager as VMM class Relocated(object): diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/Transport.py --- a/VirtualMailManager/Transport.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/Transport.py Wed Sep 02 06:08:53 2009 +0000 @@ -5,10 +5,8 @@ """Virtual Mail Manager's Transport class to manage the transport for domains and accounts.""" -from constants.VERSION import * - +from __main__ import ERR from Exceptions import VMMTransportException -import constants.ERROR as ERR class Transport(object): """A wrapper class that provides access to the transport table""" diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/VirtualMailManager.py --- a/VirtualMailManager/VirtualMailManager.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/VirtualMailManager.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,10 +4,7 @@ """The main class for vmm.""" -from constants.VERSION import * -import os -import re from encodings.idna import ToASCII, ToUnicode from getpass import getpass from shutil import rmtree @@ -15,8 +12,7 @@ from pyPgSQL import PgSQL # python-pgsql - http://pypgsql.sourceforge.net -import constants.ERROR as ERR -from __main__ import ENCODING, w_std +from __main__ import os, re, ENCODING, ERR, w_std from ext.Postconf import Postconf from Account import Account from Alias import Alias diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/__init__.py --- a/VirtualMailManager/__init__.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/__init__.py Wed Sep 02 06:08:53 2009 +0000 @@ -1,6 +1,46 @@ # -*- coding: UTF-8 -*- # Copyright (c) 2007 - 2009, VEB IT # See COPYING for distribution information. -# package placeholder +# package initialization code # + +import os +import re +import locale + +from constants.VERSION import * +import constants.ERROR as ERR + +# Set all of the locales according to the current environment variables +# and get the character encoding. +locale.setlocale(locale.LC_ALL, '') +ENCODING = locale.nl_langinfo(locale.CODESET) + +def w_std(*args): + """Writes each arg of args, encoded in the current ENCODING, to stdout and + appends a newline.""" + for arg in args: + os.sys.stdout.write(arg.encode(ENCODING, 'replace')) + os.sys.stdout.write('\n') + +def w_err(code, *args): + """Writes each arg of args, encoded in the current ENCODING, to stderr and + appends a newline. + This function additional interrupts the program execution and uses 'code' + system exit status.""" + for arg in args: + os.sys.stderr.write(arg.encode(ENCODING, 'replace')) + os.sys.stderr.write('\n') + os.sys.exit(code) + +__all__ = [ + # imported modules + 'os', 're', 'locale', + # version information from VERSION + '__author__', '__date__', '__version__', + # error codes + 'ERR', + # defined stuff + 'ENCODING', 'w_std', 'w_err' + ] # EOF diff -r fc09f657082d -r 617f27715b01 VirtualMailManager/ext/Postconf.py --- a/VirtualMailManager/ext/Postconf.py Tue Sep 01 05:35:06 2009 +0000 +++ b/VirtualMailManager/ext/Postconf.py Wed Sep 02 06:08:53 2009 +0000 @@ -4,12 +4,9 @@ """A small - r/o - wrapper class for Postfix' postconf.""" -from VirtualMailManager.constants.VERSION import * - -import re from subprocess import Popen, PIPE -import VirtualMailManager.constants.ERROR as ERR +from __main__ import re, ERR from VirtualMailManager.Exceptions import VMMException RE_PC_PARAMS = """^\w+$""" diff -r fc09f657082d -r 617f27715b01 vmm --- a/vmm Tue Sep 01 05:35:06 2009 +0000 +++ b/vmm Wed Sep 02 06:08:53 2009 +0000 @@ -5,34 +5,15 @@ """This is the vmm main script.""" -from VirtualMailManager.constants.VERSION import * - -import locale -# do it early - for importing in the other files -locale.setlocale(locale.LC_ALL, '') -ENCODING = locale.nl_langinfo(locale.CODESET) - -def w_std(*args): - for arg in args: - os.sys.stdout.write(arg.encode(ENCODING, 'replace')) - os.sys.stdout.write('\n') - -import os import gettext from time import strftime, strptime +from VirtualMailManager import * from VirtualMailManager.VirtualMailManager import VirtualMailManager import VirtualMailManager.Exceptions as VMME import VirtualMailManager.constants.EXIT as EXIT -import VirtualMailManager.constants.ERROR as ERR -def w_err(code, *args): - for arg in args: - os.sys.stderr.write(arg.encode(ENCODING, 'replace')) - os.sys.stderr.write('\n') - os.sys.exit(code) - def usage(excode=0, errMsg=None): u_head = _(u"""\ Usage: %s SUBCOMMAND OBJECT ARGS*