summaryrefslogtreecommitdiff
path: root/Mailman/pythonlib/__init__.py (unfollow)
Commit message (Collapse)AuthorFilesLines
1998-12-23TrySMTPDelivery(): On advice from Dragon, we do a manual ehlo/helo,bwarsaw1-1/+9
then check to see if the remote SMTP supports DSN. If so, we'll add the NOTIFY=failure to the receipt options.
1998-12-23At the end of main(), catch MMCantDigestError which can occur if thebwarsaw1-1/+6
list admin has disabled digests, but the user selects to turn it on. A better solution would be to not present this option to the user in that case. At least now, we give a more meaningful message instead of letting the exception percolate!
1998-12-22Small, and final docstring merge with Dragon's version.bwarsaw1-1/+5
1998-12-22A few updates since bin/upgrade can now be used for more than just thebwarsaw1-2/+8
upgrade to 1.0b6
1998-12-22"make update" should call bin/updatebwarsaw1-1/+1
1998-12-22update_to_10b6 is moved to updatebwarsaw2-6/+7
also remove bin/update_to_10b6 :-)
1998-12-22Added removal of Mailman/smtplib.py{,c}bwarsaw1-2/+5
This file will be renamed to bin/update by hacking the CVS repository. You will not see a checkin message for this.
1998-12-22Makefile.in: create Mailman/pythonlib subdirectory. Change configurebwarsaw3-7/+8
script to generate Mailman/pythonlib/Makefile.
1998-12-22Removed import of smtplib, since it isn't used in this file.bwarsaw1-2/+0
1998-12-22TrySMTPDelivery(): Added hacky stuff to ensure (as best we can) thatbwarsaw1-13/+22
we're getting a modern smtplib.py, either from Python, or from Mailman.pythonlib package. Also, use the current standard interface to smtplib.
1998-12-22Removed import of smtplib, since it isn't used in this file. Otherbwarsaw1-14/+19
coding, comments, etc. formatting nits.
1998-12-22No longer necessary; we've integrated with the standard Python 1.5.2bwarsaw1-169/+0
version, which sits in the pythonlib subdirectory anyway.
1998-12-22Added pythonlib directory to subdirsbwarsaw1-1/+1
1998-12-22New infrastructure for alleviating version skew with deployedbwarsaw3-0/+75
Pythons. When Mailman requires a newer version of a standard Python library than can be required to already be installed, we copy the .py file to this directory. This makes it easier to remove later when that version of Python is required. Other than the standard package and CVS boilerplate, smtplib.py is the latest almost-Python-1.5.2 version.
1998-12-22A few other docstring fixes, most importantly to be a little nicer tobwarsaw1-54/+59
Emacs ;-)
1998-12-22Nothing earthshattering, just some fixes to typos and other formattingbwarsaw1-49/+52
bugs in various docstrings.
1998-12-21(Nearly) the PostScript of the paper as published in Usenix LISA 98.bwarsaw2-0/+66046
See README for one minor difference.
1998-12-21Removed last slide, which seemed bogusbwarsaw1-0/+0
1998-12-19Suggested improving error messages, indicating file, maillist, etc atklm1-1/+5
fault. Refined class exceptions improvement suggestion, specifying an idea i have about organization...
1998-12-19AMK says:bwarsaw1-13/+27
"Here's a patch to private.py which makes it 1) return text/plain as the content type if the file ends in .txt, and 2) look for <filename>.gz if <filename> doesn't exist, and uses the gzip module to read it." Minimally tested, since I've got Pipermail installed. Doesn't seem hurt.
1998-12-19Reorganize administrator authentication so that it is done up-frontbwarsaw1-77/+132
instead of on each pending message. Two advantages: you can't even see the held messages if you don't have the password, and it's also easier to deal with the held messages this way. Two nasty bits: most of the code was copied from admin.py, so there's a lot of crufty duplication of effort (but then, all the CGI stuff could go through a major cleaning). Also, if there are no messages being held, that information is given without need for admin password. That seems innocuous enough. Also got rid of a couple of eval()s lurking in the code. I think they were just there to do string->int conversion, and there's a much safer way of doing this.
1998-12-19Added mailman-developers@python.org as bug reporting addressbwarsaw2-19/+35
Added Emacs cruft to end of files
1998-12-18Get rid of $< variables in command lines. They don't work for allbwarsaw1-4/+4
versions of make, and aren't really necessary anyway.
1998-12-18Add small comment on assertion, in light of Ken's complaint of 7-Decbwarsaw2-0/+10
1998-12-18Some updatesbwarsaw1-5/+13
1998-12-18DeliverToOwner(), DeliverToList(): Use self.LogMsg() instead ofbwarsaw1-6/+6
sys.stderr.write() to write error messages.
1998-12-18Significantly rewritten to handle many lurking bugs.bwarsaw1-32/+85
- reorganized into functions with a small amount of __main__ code - re-ordered the way the work gets done between the parent and the child. it was possible the gate_watermarks file would be continuously trashed because it was written by every child process, which run asynchronously. now only the parent writes this file, but it does so after each list's gating child process starts. This also means that the parent is what makes the initial NNTP connection, and gets the stats of the list (e.g. first and last). These it passes to the child process, along with the current watermark. The child just does the actual gating. - Added a per-list locking file so that only one gate_news process will be gating a list at any one time. What happens is: the parent acquires the per-list lock. If that fails, it just moves on to the next list; gate_news runs again in 5 minutes anyway, and the hung_timeout on the lock is set to 4 minutes. If the parent gets the per-list lock, it forks a child to handle gating that list. The child then steals the lock from the parent (this should be safe), gates all the new messages, and then releases the per-list lock. This new code should be forking-safe, should not have run away processes, and lets you run gate_news from the command line without interfering with any cron spawned gate_news process.
1998-12-18PollNewsGroup(): Significantly rewritten to work better with the newbwarsaw1-21/+14
cron/gate_news script. API to the method has changed, since gate_news calculates the watermark, first, and last, and passes in the NNTP connection object. This method now returns None. Also fixed a bug in the range() calculation that caused every message in the newsgroup to be gated to the list! Fixed a bogus except.
1998-12-18FileLock.steal(): New method which just basically writes a new PIDbwarsaw2-0/+8
into the lock file. USE WITH CAUTION. Necessary because in the new news/mail gating code, the parent acquires the lock, and if successful, the child will steal it from the parent and then unlock it when done. This should be safe, with a very small race window, if any.
1998-12-17Correcteded "unsububscribes".klm1-1/+1
1998-12-17I needed to use the Utils.FindMatchingAddresses() address, rather thanklm1-4/+9
the original, for each of the links - and also, needed to used the Utils.ObscuredEmail() version of that, since that's the more common, "normal" form.
1998-12-17Small tweaks to layout - better separate the unsubscribe andklm1-8/+7
list-subscriptions headers, refine some of the text.
1998-12-17SendMailToNewsGroup(): Okay, use the same test that's in MailList.pybwarsaw1-1/+1
1998-12-17SendMailToNewsGroup(): If the Subject: line does not include abwarsaw1-1/+6
[Prefix], add one. This test is a little different than the one in MailList.py; we check for [Prefix] in the entire line.
1998-12-17GetConfigInfo(): Fixed bogus indentationbwarsaw1-19/+19
1998-12-17Two tiny refinements to the subscriptions list, and then dinner:klm1-3/+6
- Add some (barely) explanatory text, and - sort the list of names.
1998-12-17Use OrderedList instead of UnorderedList for the list ofklm1-1/+1
subscriptions, so people can, eg, see the number go down as they unsubscribe, etc.
1998-12-17Add section (in what was formerly whitespace, adjacent to theklm1-5/+21
unsubscribe section) from which a subscriber can visit a list of all their subscriptions. (We're going to have to remember to tell all beta testers to put the new list templates in place over the copies in the list dirs - it's unfortunate they don't default to a central one when the lists don't have their own custom versions - and must be fixed...)
1998-12-17Password box and button to handle new list-my-subscriptions option.klm1-8/+14
1998-12-17We needed *something* by which people can determine the lists theyklm1-4/+40
subscribe to. I'm adding a button on the user options page that they can click, as long as they provide their password, to get to a page of links to the options pages for all their subscriptions on the current system. It's not very pretty (options.py and handle_options.py are even more packed with miscellaneous stuff, and the page they go to is extremely unrefined), but i think it's not bad for an hour hack, and is needed. (The password protection is necessary since the user options page is visible to anyone, and not having a password would give away the list of private subscriptions.)
1998-12-17New standard replacement, mm-host.klm1-0/+1
1998-12-17Date: Wed, 16 Dec 1998 16:15:28 -0800klm1-2/+2
From: Greg Stein <gstein@lyra.org> To: mailman-developers@python.org Subject: [Mailman-Developers] patch to subscribeack.txt I received a report that the welcome message is slightly misleading. I changed a couple lines in the middle to read: with the word "help" in the subject or body (don't add the quotes), and you will get back a message with instructions. Cheers, -g
1998-12-17Added back add_members to Makefile.inbwarsaw2-7/+7
add_members was still calling itself convert_list in the docstring.
1998-12-16Make common.o depend on the generated Makefile in this directory.bwarsaw1-1/+1
That way, if the admin re-runs configure (or config.status), possibly changing the CGI or Mail GID's, the wrappers will get automatically recompiled.
1998-12-10Several changes. WARNING: This is untested since I don't currentlybwarsaw1-118/+149
have a newsfeed I can post to. Someone please check this (at least it doesn't have syntax errors :-) - Reformatted to standard 4-space indents, and untabified. - Moved common imports (which have already probably been done in the process) to the top of the file. Imports of Message and nntplib are left in place. - QuickEscape is moderately bogus, but at least do it legally (don't compare exception based on string value, base it on object equivalence). - In PollNewsGroup(), we know we want count, first, and last (as returned from con.group()) to be integers. Convert them right after retrieval with int() instead of when used using slower/riskier eval(). - When opening the pipe, craft the command to execute /path/to/python /other/path/to/scripts/post listname nonews using the configure calculated paths in the first two arguments. This is because scripts/post isn't installed with execute bit set. - In SendMailToNewsGroup() we only add a Sender: header if one doesn't already exist. Also, watch for existing Newsgroups: header; if one exists, check to see if our linked_group is already present. Only if not do we append our group. If Newsgroups: doesn't exist at all, add it.
1998-12-10Added some XXX comments for later:bwarsaw1-0/+2
1) OutgoingMessage.__delitem__() when name is missing probably ought to raise an exception instead of returning None. 2) There probably ought to be at least also an OutgoingMessage.__setitem__() too.
1998-12-10As part of the install process, run compileall over the installedbwarsaw1-0/+2
Mailman source tree. This will pre-byte-compile all the .py files. However the scripts which do not end in .py are not compiled; that should be fine for now.