summaryrefslogtreecommitdiff
path: root/Mailman/HTMLFormatter.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Put the listinfo URL in the footer, so it can be clicked *somewhere*klm1999-03-151-3/+4
| | | | | | on the page. (It should be available on the top, even more, but i don't see how to do so without cluttering at the moment, and my connection is so low band that i can't scope it out right now.)
* New standard replacement, mm-host.klm1998-12-171-0/+1
|
* This is a simple change that limits the extremely expensivecotton1998-11-231-3/+11
| | | | | | | | | | | calculation of html user lists to the roster cgi program. HTMLFormatter: added a .GetAllReplacements() method that does the same thing as GetStandardRepplacements() but also calculates all the html for users lists. Removed the calculation of all the html for the user lists from GetStandardReplacements(). Cgi/roster.py replaced call of GetStandardReplacements() with GetAllReplacements(). scott
* optimized FormatUsers() a bit.cotton1998-11-211-24/+23
|
* This change implements storing list members and digest members ascotton1998-11-191-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dicts instead of lists, which optimizes Utils.FindMatchingAddresses and general membership management, especially for large lists. MailList.py now supplies .GetMembers() and .GetDigestMembers() to supply the data in list form to anything that needs it that way. An new install showed this worked fine with some cursory testing of the cgi's and interactive poking around. A detailed listing of the changes follows: Mailman/Defaults.py.in: change data version to 11 Mailman/Digester.py: initvars now instantiates digest_members as {} instead of [] lines 113-114 and 121-122 now use del This change implements storing list members and digest members as dicts instead of lists, which optimizes Utils.FindMatchingAddresses and general membership management, especially for large lists. MailList.py now supplies .GetMembers() and .GetDigestMembers() to supply the data in list form to anything that needs it that way. Though INSTALL shows up on the changed files section, a diff a few seconds ago didn't show any differences in that file, so I hope nobody changed it in the interim. An new install showed this worked fine with some cursory testing of the cgi's and interactive poking around. A detailed listing of the changes follows: Mailman/Defaults.py.in: change data version to 11 Mailman/Digester.py: initvars now instantiates digest_members as {} instead of [] lines 113-114 and 121-122 now use del list.[digest_]member instead of list.[digest_]members.remove when figuring who to actually send digests to, use list.GetDigestMembers() instead of list.digest_members. Mailman/HTMLFormatter: now uses list.Get[Digest]Members to get subscribers, and length of digested subscribers and regular members MailCommandHandler, SecurityManager,Cgi/handle_opts, Cgi/options: all simple replacements of list.[digest_]members with list.Get[Digest]Members(). Mailman/Cgi/admin.py: mostly simple replacements of list.[digest_]members with the Get..() methods, however, the membership management section now works much quicker and changes digest->nodigest subscriptions via dictionary manipulations. Mailman/versions.py: updates lists to use dicts and changed list.[digest_]members to use the list.Get[Digest]Members() methods. Mailman/Utils.py: added a function "GetPossibleMatchingAddresses" which when fed an address, returns the list of addresses that "smart" address matching would match. changed FindMatchingAddresses(name, list) to use a new signature: FindMatchingAddresses(name, *dicts), where dicts is a list of dictionaries keyed by addresses. Just realized that this would better be FindMatchingAddresses(name, dict, *dicts) so that it enforces atleast 2 args... I'll make that change in a sec. All uses of FindMatchingAddresses have been changed to fit the new arguments. scott ----:**-F1 cvs30458aaa 1:12PM 0.98 Mail (Text Fill)--L59--32%------------------------------------------- ?
* made FormatFormStart use AbsoluteScript URL because it was returning acotton1998-11-121-1/+1
| | | | | bogus url for handle_opts (one nesting level too high). scott
* integrated g. steins's mailman reminder patch, so that listinfo.htmlcotton1998-11-101-2/+12
| | | | | | now only states that "your password will be mailed to you once a month" if the list is set to do that. scott
* os.path.join -> %s/%s for urls.cotton1998-11-091-3/+7
| | | | | bug reported by greg stein scott
* .FormatUmbrellaNotice(): Cut-and-paste problem was breaking use ofklm1998-10-171-1/+1
| | | | | | umbrellafied member address, and this was hidden by the lynx web page cache until i extended my testing to another page. (I wonder if there's a way to reduce the rather aggressive caching that lynx does?)
* MailList.GetMemberAdminEmail(): New routine to identify the adminklm1998-10-171-3/+2
| | | | | | | | | | | address for a member - trivially just the members regular address *unless* we're talking about the member of an umbrella list, in which case it has the umbrella_member_suffix appended to the account part of the addr. This is used everywhere that i was duplicating the functionality in my last round of checkins, including a few places in MailLists.py as well as the other files.
* .FormatUmbrellaNotice(): for options page, warning people hitting theklm1998-10-171-0/+17
| | | | | send-password button that the password is going to the owner address, and why...
* Fixed references to old variables that should now be subscribe_policy.viega1998-10-111-3/+11
|
* InitTempVars(): Two changes, first after our conversation at lunch, Ibwarsaw1998-07-221-3/+3
| | | | | | | believe this should be InitVars(). Second, I move the list's HTML template files into $prefix/lists/<listname>. SnarfHTMLTemplate(): Call InitVars() instead of InitTempVars()
* .InitTempVars(): Use the default templates for anonymous lists.klm1998-07-011-2/+5
| | | | | | (Previously, mailman would crash when InitTempVars() was trying to construct the _template_dir setting by concatenating the TEMPLATE_DIR with the None setting for self._internal_name.)
* Convert all module names to their new names.bwarsaw1998-06-191-5/+8
| | | | Removed RCS crud
* InitTempVars() added.viega1998-06-131-2/+2
|
* Whoops, I forgot to check these in. They're changed to handleviega1998-06-031-3/+3
| | | | | relative paths, mainly GetScriptURL->the appropriate replacement. Now I'm done w/ checkins, and I'm going to test the current snapshot.
* Fixed a typo in the zipcode.viega1998-05-261-2/+2
|
* Added copyright notices to all source files where I am legally entitled to ↵viega1998-05-251-1/+18
| | | | | | | do so. Added a copy of the GNU GPL. Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
* .FormatDisabledNotice(): Text to put at top of user options pages tomailman1998-05-201-26/+46
| | | | | | | | | prominently point out when the user's delivery is disabled. (When a user's email is disabled due to bounces, they probably would not notice the checked button way down the page.) Using "from htmlformat import *" to simplify references to formatting objects.
* FormatArchiveAnchor(): Use the new routine instead of static var val.klm1998-04-101-2/+2
|
* Trivial cosmetic changes - plural "subscribers list" instead of possessiveklm1998-04-101-3/+3
| | | | "subscriber's list".
* Preparing to package a distribution - add a module docstring andmailman1998-04-091-0/+5
| | | | __version__ info.
* .FormatRosterOptionForUser(), .RosterOption() - extracted creation andklm1998-04-071-28/+24
| | | | | formatting of roster object into separate functions, so the object could be used elsewhere.
* Refined presentations for the listinfo page, including a newmailman1998-04-021-22/+37
| | | | replacement item which informs people when the archive is restricted.
* Small text refinements.klm1998-03-301-8/+5
|
* Revised subscription list presentation so it is on a separate page.klm1998-03-301-2/+64
| | | | | | | | | | | | | | | | | | | | | The listinfo page now presents a button to get there, and authentication blanks when the list has a private roster of subscribers. This entailed several changes in mm_html, including new methods: - .FormatEditingOption() - Bound to a form replacement to provide the html for the options editing text. Conditionalized to mention the ability to get to user options editing via the subscriber's roster, depending on list privacy options. - .FormatRosterOptionForUser() - Another routine called via text replacements, inserts the text for visiting the roster according to list privacy settings. One nice side effect is that now private list members *can* see the list membership over the web, via entering their authentication info. (Only the admin can see the members of an anonymous list, but they can do that via the web form.)
* Members (digest or non) are sorted only during presentation, not inmailman1998-03-271-0/+1
| | | | | storage on the list. them before presenting an ordered list.
* In the subscribers list, indicate when a user is delivery-disabled bymailman1998-03-261-3/+9
| | | | italicizing their entry and putting it between parens.
* Tracked change of names of 'closed' and 'auto_subscribe' options. Seemailman1998-03-241-1/+31
| | | | | | | | concurrent mm_defaults.py checkin for details. Added FormatSubscriptionMsg(), which generates text describing the current list's subscription approval, roster privacy, and post vetting policies.
* Whoopsie! Put a paren in the wrong place, ok now.mailman1998-03-191-3/+3
|
* Remove my comment questioning FormatArchiveAnchor().mailman1998-03-191-5/+2
| | | | Wrap long line.
* Changed EnableMime user option to DisableMime, as part of making mimemailman1998-03-131-3/+22
| | | | | | | | | mode the default for digests. Added .Format{Mime,Plain}DigestsButton methods. Using _base_archive_url for FormatArchiveAnchor, instead of GetScriptURL("archives"), which assumes the archives are in the mailman hierarchy.
* Pluralize "member" accordingly.mailman1998-03-091-2/+4
|
* Whoops again - this shot got it right.mailman1998-03-091-3/+3
|
* Whoops, cut-and-paste mistake in last checkin rectified.klm1998-03-091-1/+1
|
* Indicate the number of concealed members at the end of each list, ifklm1998-03-091-1/+8
| | | | any.
* HTMLFormatter.FormatOneUser(): Use new ObscureEmail() routine to maskklm1998-03-081-1/+6
| | | | | | the email address from web spiders, to thwart spam address scrapers. The url passed to the options script is always transfored, but the id presented textually only is when list.obscure_addresses is set.
* Add a standard replacement for request-addr.mailman1998-02-261-2/+5
| | | | Wrap some long lines.
* Initial revisionmailman1998-02-251-0/+154