summaryrefslogtreecommitdiff
path: root/Mailman/Handlers/Tagger.py
Commit message (Collapse)AuthorAgeFilesLines
* Reorganize doctests, moving handler documentation into Mailman/handlers/docs.Barry Warsaw2008-01-241-157/+0
| | | | Rename all handlers to be more PEP 8 friendly, i.e. lowercased.
* Update copyright years.bwarsaw2007-01-191-1/+1
|
* - Utils.py Fixed a security hole which allowed a crafted URI to injectmsapiro2006-07-071-1/+3
| | | | | | | | | | | | | | | | | | | | bogus apparent messages into the error log, possibly inducing an admin to visit a phishing site. - options.py Topics.py Tagger.py MailList.py Utils.py Version.py versions.py The processing of Topics regular expressions has changed. Previously the Topics regexp was compiled in verbose mode but not documented as such which caused some confusion. Also, the documentation indicated that topic keywords could be entered one per line, but these entries were not properly. Topics regexps are now compiled in non-verbose mode and multi- line entries are 'ored'. Existing Topics regexps will be converted when the list is updated so they will continue to work.
* - Convert all logging to Python's standard logging module. Get rid of allbwarsaw2006-04-171-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | traces of our crufty old Syslog. Most of this work was purely mechanical, except for: 1) Initializing the loggers. For this, there's a new module Mailman/loginit.py (yes all modules from now on will use PEP 8 names). We can't call this 'logging.py' because that will interfere with importing the stdlib module of the same name (can you say Python 2.5 and absolute imports?). If you want to write log messages both to the log file and to stderr, pass True to loginit.initialize(). This will turn on propagation of log messages to the parent 'mailman' logger, which is set up to print to stderr. This is how bin/qrunner works when not running as a subprocess of mailmanctl. 2) The driver script. I had to untwist the StampedLogger stuff and implement differently printing exceptions and such to log/error because standard logging objects don't have a write() method. So we write to a cStringIO and then pass that to the logger. 3) SMTPDirect.py because of the configurability of the log messages. This required changing SafeDict into a dict subclass (which is better than using UserDicts anyway -- yay Python 2.3!). It's probably still possible to flummox things up if you change the name of the loggers in the SMTP_LOG_* variables in mm_cfg.py. However, the worst you can do is cause output to go to stderr and not go to a log file. Note too that all entry points into the Mailman system must call Mailman.loginit.initialize() or the log output will go to stderr (which may occasionally be what you want). Currently all CGIs and qrunners should be working properly. I wish I could have tested all code paths that touch the logger, but that's infeasible. I have tested this, but it's possible that there were some mistakes in the translation. - Mailman.Bouncers.BounceAPI.Stop is a singleton, but not a class instance any more. - True/False code cleanup, PEP 8 import restructuring, whitespace normalization, and copyright year updates, as appropriate.
* Preparing for email 3.0/4.0. get_type() -> get_content_type() etc.tkikuchi2006-03-071-3/+4
|
* FSF office has moved. chdcking in for MAIN branch.tkikuchi2005-08-271-1/+1
|
* Removed some debugging syslog() calls -- thanks Ron!bwarsaw2002-04-111-2/+0
|
* Ron Jarrell noted that the tagger logic was broken when messages startbwarsaw2002-04-111-6/+62
| | | | | | | | | | | | | | | with indented text. Fixes, process(): Fix short-circuit test for mlist.topics_enabled instead of mlist.topics. scanbody(): We don't need to do much more than filter out the blank lines when creating a mini-message to look for Subject: and Keywords: fields in the body. We /do/ need to create a subclassed _ForgivingParser which simply stops processing instead of throwing exceptions when it hits a line that's neither a header nor a continuation. WIBNI if we didn't have to cut-n-paste the bulk fo the _parseheaders() method?
* scanbody(): In Python 2.2, email.Iterators.body_line_iterator() willbwarsaw2002-01-231-2/+2
| | | | | return a generator, which doesn't have a pop() method. Always convert it to a concrete list object first.
* process(), scanbody(): mimelib -> email.bwarsaw2001-10-091-6/+6
|
* Convert from mimelib to email.bwarsaw2001-10-011-8/+9
|
* intermediatebwarsaw2001-07-191-0/+101