| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
stdout, so much as tee it to stderr, so I've changed the name of the
argument and implemented this as a tee to stderr.
I don't think this breaks any code, but I'm not 100% sure yet.
Also, whitespace normalization and pychecker fixes.
|
| |
|
|
|
|
|
|
|
|
| |
for the log file (defaults to iso-8859-1, which works for xterms and
xemacs buffers, although we may have to change this to us-ascii for
release). We try to open the log file using the codecs module so
output will be encoded by the proper stream writer.
I'm not 100% sure about these changes, but they seem right and work
for me.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
write(): Just call new function write_ex(), passing arguments through.
write_ex(): Use explicit arguments to pass in the args tuple and kws
dictionary. This is because Python requires **kws in extended calls
to be concrete dictionary objects, not generic mapping objects.
SMTPDirect wants to pass in an instance of (subclassed) UserDict, so
it calls write_ex() directly.
Also, stash the msg argument in local variable origmsg, which is used
if we get an exception during string interpolation.
|
| | |
|
| |
|
|
|
|
| |
nicer and more robust. String interpolation is now done here instead
of at callee site, so exceptions like TypeError and ValueError can be
caught and dealt with better.
|
| | |
|
| |
|
|
| |
re-opened at the next attempted write.
|
| |
|
|
| |
be instantiated.
|
| |
|
|
|
|
| |
Syslog.py: New global logging class which replaces the
MailList.LogMsg() interface. This module also creates a global
instance which is callable and should be used for convenience.
|
| |
|
|
| |
from the function argument.
|
| |
|
|
|
|
|
| |
Utils.reraise() hack.
Also, use import statements which are more consistent with the rest of
Mailman.
|
| | |
|
| |
|
|
| |
if the logger doesn't have a reprime method.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
shouldn't be necessary.
|
| |
|
|
| |
argument to StampedLogger().
|
| |
|
|
|
|
|
|
|
|
|
|
| |
propagate version string changes to the public (you have to
autoreconf, then reconfigure and reinstall).
Now, VERSION is set directory in Defaults.py.in and the Release.py
script updates that file directly. Now we just need to run
./config.status and do a re-install. I hope this will make things
easier.
I'm also bumping the version to 1.0b8, so I can do a release tomorrow.
|
| | |
|
| |
|
|
|
|
| |
doesn't have the attribute sys.__stdout__; although this is placed
into the sys module by the driver, I think there are non-CGI paths to
this code.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
hardcoded "Logger", so derived classes (eg, StampedLogger) identify
themselves correctly.
.__init__(): Clarified function docstring a bit.
|
| |
|
|
| |
which is passed through to the Logger.__init__().
|
| |
|
|
| |
XXX: This class is no longer used by the driver script.
|
| |
|
|
|
|
|
|
|
|
|
| |
Logger.__init__(): New default argument `immediate' says to open the
log file immediately upon creation (so we learn of errors early).
Otherwise the log file is opened when first needed.
Logger.__get_f(): Re-raise the exception using Python 1.5 semantics;
can't guarantee everyone has Python 1.5.1. Also if nofail, then set
the file pointer to be sys.__stderr__ so at least the exceptions will
get logged to the Web server log file.
|
| |
|
|
| |
doesn't get name mangled.
|
| |
|
|
|
|
| |
current directory, the full path of the package must be given.
Strictly speaking, the package path isn't necessary since it is
guaranteed to find the right Utils.
|
| | |
|
| |
|
|
| |
sys.stderr (and tee it to sys.stdout, also).
|
|
|
StampedLogger is carried over from before, with some changes.
Logger used to be in Mailman.Utils
MultiLogger is new, it is used to log identical message to a list of
loggers supporting the write interface of file-like objects (e.g. a
Logger or sys.__stdout__).
|