| Commit message (Collapse) | Author | Files | Lines |
|
get an annoying exception.
|
|
returned by getaddrlist() will return None. This happens if the
header value is simply not RFC822 compliant. In that case, ignore
this element.
|
|
string. If the input object is false, return the empty string.
|
|
message to the archive. Retain "X-Archive: no" for backwards
compatibility with my own hallucinations :). Resolves SF bug
#115644.
|
|
body. If the msg object is one of our Message.Message's it'll have a
body attribute. If it's a mimetool.Message, it'll have a rewindable
fp attribute. But just to be sure, default the body to something
reasonable.
|
|
versions of the In-Reply-To, References, and Message-ID headers, I
retain the original values in different variables. These are used to
generate the periodic downloadable archives.
_set_date(): Initialize date to '' not 'None' if there is no date
header.
|
|
differently.
class Article(): Get rid of text_tmpl for the same reason.
as_text(): We need to retain In-Reply-To:, References:, and
Message-ID: if the downloadable periodics are to be at all
threadable. Suggested by Gerald Oskoboiny.
Also, get something reasonable defaults for Date: header if the
original message is missing it (i.e. "None" isn't reasonable :).
|
|
private. Specifically,
main(): Check PATH_INFO and see if the paths is
listname.mbox/listname.mbox, in which case the full archive is being
retrieved. If so, make sure the Content-Type: is text/plain and feed
the whole mbox out to the browser.
|
|
period) .txt files that ar generated. Specifically,
sizeof(): factor out code to calculate size of file with appropriate
bytes/KB/MB suffix.
article_text_template: For proper parsing by most Unix mail compatible
tools, the From: header should be in the form
From: emailaddr (real name)
Article.as_text(): Make sure the plain text headers have valid (even
if bogus) From_ separator for compatibility with Unix mail and similar
tools. Craft a fromdate and email address if they aren't present in
the original message.
TOC_template, html_TOC(): Added a link to the full raw archive file,
which was always available, but hidden. You still need to go through
private.py if the archives are private, of course. Also, report on
the approximate size of the raw archive.
|
|
standard library, get rid of Mailman.pythonlib.getpass compatibility
module.
|
|
|
|
|
|
standard library, get rid of Mailman.pythonlib.getpass compatibility
module.
Plus, general cleanup, and use SetSiteAdminPassword(),
CheckSiteAdminPassword() from Utils instead of on a bogus MailList
object.
|
|
suited in Utils than in the SecurityManager class because they don't
require the MailList object at all.
|
|
standard library, get rid of Mailman.pythonlib.getpass compatibility
module.
|
|
mm_cfg.VERBATIM_ENCODING list and do not call html_quote if it is
found. The list should contain charsets that use multibyte encodings
where 0x26 may not represented the & character. Add option for
default charset (None == us-ascii).
Fix bug in format_article that added <pre> tags to the message body
*before* writing the text version. The fix isn't very clean, but it
is functional and quick. Generate the HTML body and store it as
html_body attribute. Use this in preference to body attribute when
writing html output.
|
|
|
|
|
|
bomb with tracebacks if PATH_INFO environment variable wasn't defined.
Fixed this by making them all use Utils.GetPathPieces() and "doing
something sensible" when that returned a false value.
Also, edithtml is now hidden behind a login screen, so there's no need
to enter the list password to edit the html. You can't even get to
the list of files to edit unless you've admin authenticated. Closes
SF bug #114091, Jitterbug PR# 24.
|
|
change the semantics for the most common situation: splitting the
$PATH_INFO environment variable into components for the cgi scripts.
ScriptURL(): This was the only non-CGI use of GetPathPieces() so now
this just uses the filter() call instead of the new semantics.
|
|
the need to re-run configure (running config.status isn't
sufficient).
|
|
error code raised by seek()ing before the end of a non-existant or
zero length file, we simply ignore all IOErrors that can result.
|
|
We now discard $PYTHONHOME and $PATH as well as the previously
discarded $PYTHONPATH (which we later hand craft). Just a bit of
extra paranoia.
|
|
the try block. Should have no practical effect, but makes debugging
easier.
|
|
the private archive dir.
|
|
value needs to be wrapped in angle brackets.
|
|
last patch. This caused confirmation requests to have a reply-to
pointing back to the list. Closes bug #115253.
|
|
|
|
|
|
|
|
|
|
2.0 patch.
|
|
and use that class here.
|
|
- add support for decoding subjects in links to next and prev message
if the encodings of the two messages are the same
- change re.sub('"',...) with string.replace('"', ...)
- remove unused __processbody_CGIescape method
- vast simplification and speed up of format_article
(still more to do in methods it calls)
- change logic of loadbody_fromHTML to avoid unnecessary tests
- add slightly optimized mailbox class
|
|
replace open calls with explicit open_ex
add load method with code from __init__
|
|
appearing in index. pipermail generated several indexes by assuming
that date was unique. If two messages arrived with, e.g., the same
author and date, then the author index treated them as identical.
As a result, both messages were archived, but only the last one was
included in the index. Solution is to always include the msgid, which
is unique, in the index key.
Change database keys to combine elements using tuples instead of
string concatenation with \000 as separator.
Fix was accomplished by refactoring on pipermail.Database and its
subclasses. Push index-key generation into common concrete base class
Database; rename abstract base class to DatabaseInterface. Break up
addArticle method into several pieces.
TBD There is still more refactoring to do on Database class.
Because date key has changed, HyperDatabase method to return first and
last date changed to reflect format of date key.
Refactor pipermail.T.add_article into several pieces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
search engine indexing of index and message pages
|
|
|
|
|
|
|
|
|
|
|
|
keep _charsets dictionary in pickled rep of archive; this allows the
charset for an index page to be set based on the total count of
charsets in all messages
|