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