| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
ArchiveFileName().
|
| |
|
|
| |
attribute.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
private_archive_file_dir, or archive_directory. All three can be
calculated when needed, and doing it that way instead improves the
mobility of lists.
archive_dir(): Return the path previously kept in archive_directory,
by calculating it on the fly.
ArchiveFileName(): Use archive_dir() to calculate the path to the
actual .mbox file.
CheckHTMLArchiveDir(): use archive_dir() to calculate the link paths.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
into templates/en/article.html and as_html() is modified to use the
standard maketext() call to retrieve the template and interpolate in
a dictionary of values.
|
| | |
|
| |
|
|
|
|
|
| |
be 'date'. I don't usually like touching pipermail, but in this case, the
pain is minimal.
Closes SF bug #426002.
|
| | |
|
| |
|
|
| |
os.mkdir() instead of Utils.mkdir().
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
PRIVATE_ARCHIVE_URL, calculate the url to the `private' cgi script via
self.GetScriptURL().
|
| |
|
|
| |
configuration variable.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Utils.open_ex() is obsolete.
|
| | |
|
| |
|
|
| |
update_article(): Utils.open_ex() is obsolete.
|
| |
|
|
|
|
| |
ArchiveMail(): Interface change. This method no longer gets the
message metadata dictionary (it wasn't used anyway). Also, convert to
the mimelib interface.
|
| | |
|
| | |
|
| |
|
|
| |
missing. Submitted by Erik Forsberg (original patch author).
|
| |
|
|
| |
are case insensitive according to RFC 1521. Closes patch #102268.
|
| |
|
|
|
|
|
|
| |
messages with a Subject: in ('subscribe', 'unsubscribe'). This kind
of filtering happens at higher levels in Mailman; if such a message is
in the .mbox file, it should be in the html archive.
Closes bug #121811 for real now.
|
| |
|
|
|
| |
(uppercase) hex digits. This fixes SF bug #117548 and replaces the
suggested patch in patch #102097. (patch approved by Jeremy.)
|
| |
|
|
| |
broke the archiver.
|
| |
|
|
| |
emails. These should really be log file output.
|
| |
|
|
|
|
|
|
|
| |
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 :).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
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
|
| | |
|
| |
|
|
|
|
|
| |
Specifically,
HyperArchive.html_TOC_entry(): Don't calculate path to
archives/private here; it's already done for us in mm_cfg.
|
| |
|
|
|
|
| |
None otherwise pure-ascii archives fail to build.
Other de-Python-2.0-ifications.
|