From 99f721f65906e4f2d1036da3a886426aa0ec5aea Mon Sep 17 00:00:00 2001 From: bwarsaw Date: Fri, 19 Jun 1998 19:32:48 +0000 Subject: All these files have been moved to the Mailman directory (and some renamed) --- modules/mm_html.py | 336 ----------------------------------------------------- 1 file changed, 336 deletions(-) delete mode 100644 modules/mm_html.py (limited to 'modules/mm_html.py') diff --git a/modules/mm_html.py b/modules/mm_html.py deleted file mode 100644 index 9b060bfdb..000000000 --- a/modules/mm_html.py +++ /dev/null @@ -1,336 +0,0 @@ -# Copyright (C) 1998 by the Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - -"""Routines for presentation of list-specific HTML text.""" - -__version__ = "$Revision: 730 $" - - -import os -import regsub -import string -import mm_cfg, mm_utils -from htmlformat import * - -class HTMLFormatter: - def InitTempVars(self): - self._template_dir = os.path.join(mm_cfg.TEMPLATE_DIR, - self._internal_name) - - def GetMailmanFooter(self): - owners_html = Container() - for i in range(len(self.owner)): - owner = self.owner[i] - owners_html.AddItem(Link('mailto:%s' % owner, owner)) - if i + 1 <> len(self.owner): - owners_html.AddItem(', ') - - # Remove the .Format() when htmlformat conversion is done. - return Container( - '
', - 'HTML generated by ', - Link( - mm_cfg.MAILMAN_URL, - "Mailman v %s" % mm_cfg.VERSION)))).Format() - - def SnarfHTMLTemplate(self, file): - filename = os.path.join(self._template_dir, file) - f = open(filename,'r') - str = f.read() - f.close() - return str - - def FormatUsers(self, digest): - def NotHidden(x, s=self, v=mm_cfg.ConcealSubscription): - return not s.GetUserOption(x, v) - - if digest: - people = filter(NotHidden, self.digest_members) - num_concealed = len(self.digest_members) - len(people) - else: - people = filter(NotHidden, self.members) - num_concealed = len(self.members) - len(people) - people.sort() - if (num_concealed > 0): - plurality = (((num_concealed > 1) and "s") or "") - concealed = ("(%d private member%s not shown)" - % (num_concealed, plurality)) - else: - concealed = "" - - def FormatOneUser(person, me=self, - # Make some local refs for efficiency: - disdel=mm_cfg.DisableDelivery, - Link=Link, os=os, - ObscureEmail=mm_utils.ObscureEmail): - id = ObscureEmail(person) - if me.obscure_addresses: - showing = ObscureEmail(person, for_text=1) - else: - showing = person - got = Link(os.path.join(me.GetRelativeScriptURL('options'), - id), showing) - if me.GetUserOption(person, disdel): - got = Italic("(", got, ")") - return got - items = map(FormatOneUser, people) - # Just return the .Format() so this works until I finish - # converting everything to htmlformat... - return (concealed + - apply(UnorderedList, tuple(items)).Format()) - - - def FormatOptionButton(self, type, value, user): - users_val = self.GetUserOption(user, type) - if users_val == value: - checked = ' CHECKED' - else: - checked = '' - name = { mm_cfg.DontReceiveOwnPosts : "dontreceive", - mm_cfg.DisableDelivery : "disablemail", - mm_cfg.DisableMime : "mime", - mm_cfg.AcknowlegePosts : "ackposts", - mm_cfg.Digests : "digest", - mm_cfg.ConcealSubscription : "conceal" - }[type] - import sys - return ('' - % (name, value, checked)) - - def FormatDigestButton(self): - if self.digest_is_default: - checked = ' CHECKED' - else: - checked = '' - return '' % checked - - def FormatDisabledNotice(self, user): - if self.GetUserOption(user, mm_cfg.DisableDelivery): - text = Center(Header(3, - "Note - your list delivery is currently" - " disabled.")).Format() - text = text + "\n" - text = text + ("You may have set non-delivery deliberately, or" - " it may have been triggered by bounces from your" - " delivery address. In either case, to reenable " - " delivery, change the ") - text = text + Link('#disable', - "Disable mail delivery").Format() - text = text + " option. Contact " - text = text + Link('mailto:' + self.GetAdminEmail(), - 'your list administrator').Format() - text = text + " if you have questions." - return text - else: - return "" - - def FormatSubscriptionMsg(self): - "Tailor to approval, roster privacy, and web vetting requirements." - msg = "" - also = "" - if self.web_subscribe_requires_confirmation: - msg = msg + ("You will be sent email requesting confirmation, " - "to prevent others from gratuitously subscribing " - "you. ") - if not self.open_subscribe: - msg = msg + ("This is a closed list, which means your " - "subscription will be held for approval. You will " - "be notified of the administrators decision by " - "email. ") - also = "also " - if self.private_roster: - msg = msg + ("This is %sa private list, which means that " - "the members list is not available to non-" - "members. " % also) - else: - msg = msg + ("This is %sa public list, which means that the " - "members list is openly available" % also) - if self.obscure_addresses: - msg = msg + (" (but we obscure the addresses so they are " - "not easily recognizable by spammers). ") - else: - msg = msg + ". " - - return msg - - def FormatUndigestButton(self): - if self.digest_is_default: - checked = '' - else: - checked = ' CHECKED' - return '' % checked - - def FormatMimeDigestsButton(self): - if self.mime_is_default_digest: - checked = ' CHECKED' - else: - checked = '' - return '' % checked - def FormatPlainDigestsButton(self): - if self.mime_is_default_digest: - checked = '' - else: - checked = ' CHECKED' - return '' % checked - - def FormatEditingOption(self): - "Present editing options, according to list privacy." - - text = ('To change your subscription (set options like digest' - ' and delivery modes, get a reminder of your password,' - ' or unsubscribe from ' - + self.real_name - + '), %senter your subscription email address:
... or select your entry from the" - " subscribers list (see above).") - return text - - def RestrictedListMessage(self, which, restriction): - if not restriction: - return "" - elif restriction == 1: - return ("The %s is only available to the list members." - % which) - else: - return ("The %s is only available to the list" - " administrator." % which) - def FormatRosterOptionForUser(self): - return self.RosterOption().Format() - def RosterOption(self): - "Provide avenue to subscribers roster, contingent to .private_roster." - container = Container() - if not self.private_roster: - container.AddItem("Click here for the list of " - + self.real_name - + " subscribers: ") - container.AddItem(SubmitButton('SubscriberRoster', - 'Visit Subscriber list')) - else: - if self.private_roster == 1: - only = 'members' - whom = 'Address:' - else: - only = 'the list administrator' - whom = 'Admin address:' - # Solicit the user and password. - container.AddItem(self.RestrictedListMessage('subscribers list', - self.private_roster) - + "
Enter your " - + string.lower(whom[:-1]) - + " address and password to visit" - " the subscribers list: