------------------------------------------------------------ revno: 6566 committer: Barry Warsaw <[EMAIL PROTECTED]> branch nick: 3.0 timestamp: Tue 2007-10-09 22:18:14 -0400 message: Reorganize the enums so that they live in the most appropriate interface. The only constant left in Mailman.constants is now actually a constant. added: Mailman/interfaces/action.py modified: Mailman/Bouncer.py Mailman/Defaults.py Mailman/Handlers/CalcRecips.py Mailman/Handlers/CookHeaders.py Mailman/Handlers/ToDigest.py Mailman/app/lifecycle.py Mailman/app/membership.py Mailman/app/moderator.py Mailman/app/styles.py Mailman/bin/add_members.py Mailman/bin/list_members.py Mailman/bin/set_members.py Mailman/constants.py Mailman/database/model/roster.py Mailman/docs/acknowledge.txt Mailman/docs/addresses.txt Mailman/docs/avoid-duplicates.txt Mailman/docs/calc-recips.txt Mailman/docs/file-recips.txt Mailman/docs/membership.txt Mailman/docs/reply-to.txt Mailman/docs/requests.txt Mailman/interfaces/mailinglist.py Mailman/interfaces/member.py
=== added file 'Mailman/interfaces/action.py' --- a/Mailman/interfaces/action.py 1970-01-01 00:00:00 +0000 +++ b/Mailman/interfaces/action.py 2007-10-10 02:18:14 +0000 @@ -0,0 +1,31 @@ +# Copyright (C) 2006-2007 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + +__all__ = [ + 'Action', + ] + +from munepy import Enum + + + +class Action(Enum): + hold = 0 + reject = 1 + discard = 2 + accept = 3 + defer = 4 === modified file 'Mailman/Bouncer.py' --- a/Mailman/Bouncer.py 2007-09-28 02:15:00 +0000 +++ b/Mailman/Bouncer.py 2007-10-10 02:18:14 +0000 @@ -29,7 +29,7 @@ from Mailman import Utils from Mailman import i18n from Mailman.configuration import config -from Mailman.constants import DeliveryStatus +from Mailman.interfaces import DeliveryStatus EMPTYSTRING = '' === modified file 'Mailman/Defaults.py' --- a/Mailman/Defaults.py 2007-09-29 19:10:52 +0000 +++ b/Mailman/Defaults.py 2007-10-10 02:18:14 +0000 @@ -20,7 +20,7 @@ import os from datetime import timedelta -from Mailman.constants import * +from Mailman.interfaces import ReplyToMunging === modified file 'Mailman/Handlers/CalcRecips.py' --- a/Mailman/Handlers/CalcRecips.py 2007-06-19 15:13:09 +0000 +++ b/Mailman/Handlers/CalcRecips.py 2007-10-10 02:18:14 +0000 @@ -27,8 +27,8 @@ from Mailman import Message from Mailman import Utils from Mailman.configuration import config -from Mailman.constants import DeliveryStatus from Mailman.i18n import _ +from Mailman.interfaces import DeliveryStatus === modified file 'Mailman/Handlers/CookHeaders.py' --- a/Mailman/Handlers/CookHeaders.py 2007-09-21 12:51:38 +0000 +++ b/Mailman/Handlers/CookHeaders.py 2007-10-10 02:18:14 +0000 @@ -28,8 +28,8 @@ from Mailman import Version from Mailman.app.archiving import get_base_archive_url from Mailman.configuration import config -from Mailman.constants import ReplyToMunging from Mailman.i18n import _ +from Mailman.interfaces import ReplyToMunging CONTINUATION = ',\n\t' COMMASPACE = ', ' === modified file 'Mailman/Handlers/ToDigest.py' --- a/Mailman/Handlers/ToDigest.py 2007-09-29 18:55:25 +0000 +++ b/Mailman/Handlers/ToDigest.py 2007-10-10 02:18:14 +0000 @@ -52,7 +52,7 @@ from Mailman.Mailbox import Mailbox from Mailman.Mailbox import Mailbox from Mailman.configuration import config -from Mailman.constants import DeliveryMode, DeliveryStatus +from Mailman.interfaces import DeliveryMode, DeliveryStatus from Mailman.queue import Switchboard _ = i18n._ === modified file 'Mailman/app/lifecycle.py' --- a/Mailman/app/lifecycle.py 2007-09-21 12:51:38 +0000 +++ b/Mailman/app/lifecycle.py 2007-10-10 02:18:14 +0000 @@ -27,7 +27,7 @@ from Mailman.app.plugins import get_plugin from Mailman.app.styles import style_manager from Mailman.configuration import config -from Mailman.constants import MemberRole +from Mailman.interfaces import MemberRole __all__ = [ 'create_list', === modified file 'Mailman/app/membership.py' --- a/Mailman/app/membership.py 2007-09-21 12:51:38 +0000 +++ b/Mailman/app/membership.py 2007-10-10 02:18:14 +0000 @@ -25,7 +25,7 @@ from Mailman import Utils from Mailman import i18n from Mailman.configuration import config -from Mailman.constants import DeliveryMode, MemberRole +from Mailman.interfaces import DeliveryMode, MemberRole _ = i18n._ __i18n_templates__ = True === modified file 'Mailman/app/moderator.py' --- a/Mailman/app/moderator.py 2007-09-29 18:55:25 +0000 +++ b/Mailman/app/moderator.py 2007-10-10 02:18:14 +0000 @@ -39,8 +39,7 @@ from Mailman import i18n from Mailman.app.membership import add_member, delete_member from Mailman.configuration import config -from Mailman.constants import Action, DeliveryMode -from Mailman.interfaces import RequestType +from Mailman.interfaces import Action, DeliveryMode, RequestType from Mailman.queue import Switchboard _ = i18n._ === modified file 'Mailman/app/styles.py' --- a/Mailman/app/styles.py 2007-08-05 12:42:16 +0000 +++ b/Mailman/app/styles.py 2007-10-10 02:18:14 +0000 @@ -27,8 +27,7 @@ from Mailman.Errors import DuplicateStyleError from Mailman.app.plugins import get_plugins from Mailman.configuration import config -from Mailman.constants import Action -from Mailman.interfaces import IStyle, IStyleManager +from Mailman.interfaces import Action, IStyle, IStyleManager __metaclass__ = type === modified file 'Mailman/bin/add_members.py' --- a/Mailman/bin/add_members.py 2007-09-21 02:39:20 +0000 +++ b/Mailman/bin/add_members.py 2007-10-10 02:18:14 +0000 @@ -32,8 +32,8 @@ from Mailman import i18n from Mailman.app.membership import add_member from Mailman.configuration import config -from Mailman.constants import DeliveryMode from Mailman.initialize import initialize +from Mailman.interfaces import DeliveryMode _ = i18n._ __i18n_templates__ = True === modified file 'Mailman/bin/list_members.py' --- a/Mailman/bin/list_members.py 2007-09-28 02:15:00 +0000 +++ b/Mailman/bin/list_members.py 2007-10-10 02:18:14 +0000 @@ -24,9 +24,9 @@ from Mailman import Utils from Mailman import Version from Mailman.configuration import config -from Mailman.constants import DeliveryStatus from Mailman.i18n import _ from Mailman.initialize import initialize +from Mailman.interfaces import DeliveryStatus __i18n_templates__ = True === modified file 'Mailman/bin/set_members.py' --- a/Mailman/bin/set_members.py 2007-09-28 02:15:00 +0000 +++ b/Mailman/bin/set_members.py 2007-10-10 02:18:14 +0000 @@ -27,8 +27,8 @@ from Mailman import passwords from Mailman.app.membership import add_member from Mailman.configuration import config -from Mailman.constants import DeliveryMode from Mailman.initialize import initialize +from Mailman.interfaces import DeliveryMode _ = i18n._ === modified file 'Mailman/constants.py' --- a/Mailman/constants.py 2007-09-28 02:15:00 +0000 +++ b/Mailman/constants.py 2007-10-10 02:18:14 +0000 @@ -17,52 +17,13 @@ """Various constants and enumerations.""" -from munepy import Enum -from zope.interface import implements - -from Mailman.interfaces import IPreferences - __all__ = [ - 'Action', - 'DeliveryMode', - 'DeliveryStatus', - 'MemberRole', - 'ReplyToMunging', 'SystemDefaultPreferences', ] - -class DeliveryMode(Enum): - # Regular (i.e. non-digest) delivery - regular = 1 - # Plain text digest delivery - plaintext_digests = 2 - # MIME digest delivery - mime_digests = 3 - # Summary digests - summary_digests = 4 - - - -class DeliveryStatus(Enum): - # Delivery is enabled - enabled = 1 - # Delivery was disabled by the user - by_user = 2 - # Delivery was disabled due to bouncing addresses - by_bounces = 3 - # Delivery was disabled by an administrator or moderator - by_moderator = 4 - # Disabled for unknown reasons. - unknown = 5 - - - -class MemberRole(Enum): - member = 1 - owner = 2 - moderator = 3 +from Mailman.interfaces import DeliveryMode, DeliveryStatus, IPreferences +from zope.interface import implements @@ -76,22 +37,3 @@ receive_own_postings = True delivery_mode = DeliveryMode.regular delivery_status = DeliveryStatus.enabled - - - -class ReplyToMunging(Enum): - # The Reply-To header is passed through untouched - no_munging = 0 - # The mailing list's posting address is appended to the Reply-To header - point_to_list = 1 - # An explicit Reply-To header is added - explicit_header = 2 - - - -class Action(Enum): - hold = 0 - reject = 1 - discard = 2 - accept = 3 - defer = 4 === modified file 'Mailman/database/model/roster.py' --- a/Mailman/database/model/roster.py 2007-08-06 03:49:04 +0000 +++ b/Mailman/database/model/roster.py 2007-10-10 02:18:14 +0000 @@ -25,10 +25,9 @@ from sqlalchemy import * from zope.interface import implements -from Mailman.constants import DeliveryMode, MemberRole from Mailman.constants import SystemDefaultPreferences from Mailman.database.model import Address, Member -from Mailman.interfaces import IRoster +from Mailman.interfaces import DeliveryMode, IRoster, MemberRole === modified file 'Mailman/docs/acknowledge.txt' --- a/Mailman/docs/acknowledge.txt 2007-09-29 18:55:25 +0000 +++ b/Mailman/docs/acknowledge.txt 2007-10-10 02:18:14 +0000 @@ -28,7 +28,7 @@ Subscribe a user to the mailing list. >>> usermgr = config.db.user_manager - >>> from Mailman.constants import MemberRole + >>> from Mailman.interfaces import MemberRole >>> user_1 = usermgr.create_user('[EMAIL PROTECTED]') >>> address_1 = list(user_1.addresses)[0] >>> address_1.subscribe(mlist, MemberRole.member) === modified file 'Mailman/docs/addresses.txt' --- a/Mailman/docs/addresses.txt 2007-08-02 14:47:56 +0000 +++ b/Mailman/docs/addresses.txt 2007-10-10 02:18:14 +0000 @@ -153,9 +153,10 @@ Addresses get subscribed to mailing lists, not users. When the address is subscribed, a role is specified. - >>> address_5 = usermgr.create_address('[EMAIL PROTECTED]', 'Elly Person') + >>> address_5 = usermgr.create_address( + ... '[EMAIL PROTECTED]', 'Elly Person') >>> mlist = config.db.list_manager.create('[EMAIL PROTECTED]') - >>> from Mailman.constants import MemberRole + >>> from Mailman.interfaces import MemberRole >>> address_5.subscribe(mlist, MemberRole.owner) <Member: Elly Person <[EMAIL PROTECTED]> on [EMAIL PROTECTED] as MemberRole.owner> === modified file 'Mailman/docs/avoid-duplicates.txt' --- a/Mailman/docs/avoid-duplicates.txt 2007-08-02 14:47:56 +0000 +++ b/Mailman/docs/avoid-duplicates.txt 2007-10-10 02:18:14 +0000 @@ -16,9 +16,11 @@ Create some members we're going to use. - >>> from Mailman.constants import MemberRole - >>> address_a = config.db.user_manager.create_address('[EMAIL PROTECTED]') - >>> address_b = config.db.user_manager.create_address('[EMAIL PROTECTED]') + >>> from Mailman.interfaces import MemberRole + >>> address_a = config.db.user_manager.create_address( + ... '[EMAIL PROTECTED]') + >>> address_b = config.db.user_manager.create_address( + ... '[EMAIL PROTECTED]') >>> member_a = address_a.subscribe(mlist, MemberRole.member) >>> member_b = address_b.subscribe(mlist, MemberRole.member) >>> flush() === modified file 'Mailman/docs/calc-recips.txt' --- a/Mailman/docs/calc-recips.txt 2007-08-02 14:47:56 +0000 +++ b/Mailman/docs/calc-recips.txt 2007-10-10 02:18:14 +0000 @@ -27,7 +27,7 @@ ...then subscribe these addresses to the mailing list as members... - >>> from Mailman.constants import MemberRole + >>> from Mailman.interfaces import MemberRole >>> member_a = address_a.subscribe(mlist, MemberRole.member) >>> member_b = address_b.subscribe(mlist, MemberRole.member) >>> member_c = address_c.subscribe(mlist, MemberRole.member) === modified file 'Mailman/docs/file-recips.txt' --- a/Mailman/docs/file-recips.txt 2007-08-02 14:47:56 +0000 +++ b/Mailman/docs/file-recips.txt 2007-10-10 02:18:14 +0000 @@ -83,8 +83,9 @@ their address is in the include file, the sender's address is /not/ included in the recipients list. - >>> from Mailman.constants import MemberRole - >>> address_1 = config.db.user_manager.create_address('[EMAIL PROTECTED]') + >>> from Mailman.interfaces import MemberRole + >>> address_1 = config.db.user_manager.create_address( + ... '[EMAIL PROTECTED]') >>> address_1.subscribe(mlist, MemberRole.member) <Member: [EMAIL PROTECTED] on [EMAIL PROTECTED] as MemberRole.member> >>> flush() === modified file 'Mailman/docs/membership.txt' --- a/Mailman/docs/membership.txt 2007-09-20 02:35:37 +0000 +++ b/Mailman/docs/membership.txt 2007-10-10 02:18:14 +0000 @@ -76,7 +76,7 @@ We can add Anne as an owner of the mailing list, by creating a member role for her. - >>> from Mailman.constants import MemberRole + >>> from Mailman.interfaces import MemberRole >>> address_1 = list(user_1.addresses)[0] >>> address_1.address '[EMAIL PROTECTED]' === modified file 'Mailman/docs/reply-to.txt' --- a/Mailman/docs/reply-to.txt 2007-08-02 14:47:56 +0000 +++ b/Mailman/docs/reply-to.txt 2007-10-10 02:18:14 +0000 @@ -41,7 +41,7 @@ list's posting address. If there's no Reply-To header in the original message, the list's posting address simply gets inserted. - >>> from Mailman.constants import ReplyToMunging + >>> from Mailman.interfaces import ReplyToMunging >>> mlist.reply_goes_to_list = ReplyToMunging.point_to_list >>> mlist.preferred_language = 'en' >>> mlist.description = '' === modified file 'Mailman/docs/requests.txt' --- a/Mailman/docs/requests.txt 2007-09-29 18:55:25 +0000 +++ b/Mailman/docs/requests.txt 2007-10-10 02:18:14 +0000 @@ -252,7 +252,7 @@ Once held, the moderator can select one of several dispositions. The most trivial is to simply defer a decision for now. - >>> from Mailman.constants import Action + >>> from Mailman.interfaces import Action >>> moderator.handle_message(mlist, id_1, Action.defer) >>> flush() >>> requests.get_request(id_1) is not None @@ -427,7 +427,7 @@ name, their password (possibly hashed), what kind of delivery option they are chosing and their preferred language. - >>> from Mailman.constants import DeliveryMode + >>> from Mailman.interfaces import DeliveryMode >>> mlist.admin_immed_notify = False >>> flush() >>> id_3 = moderator.hold_subscription(mlist, @@ -710,7 +710,7 @@ >>> mlist.admin_immed_notify = False >>> flush() - >>> from Mailman.constants import MemberRole + >>> from Mailman.interfaces import MemberRole >>> user_1 = config.db.user_manager.create_user('[EMAIL PROTECTED]') >>> flush() >>> address_1 = list(user_1.addresses)[0] === modified file 'Mailman/interfaces/mailinglist.py' --- a/Mailman/interfaces/mailinglist.py 2007-09-28 02:15:00 +0000 +++ b/Mailman/interfaces/mailinglist.py 2007-10-10 02:18:14 +0000 @@ -17,10 +17,26 @@ """Interface for a mailing list.""" +__all__ = [ + 'IMailingList', + 'ReplyToMunging', + ] + +from munepy import Enum from zope.interface import Interface, Attribute +class ReplyToMunging(Enum): + # The Reply-To header is passed through untouched + no_munging = 0 + # The mailing list's posting address is appended to the Reply-To header + point_to_list = 1 + # An explicit Reply-To header is added + explicit_header = 2 + + + class IMailingList(Interface): """A mailing list.""" === modified file 'Mailman/interfaces/member.py' --- a/Mailman/interfaces/member.py 2007-06-19 15:13:09 +0000 +++ b/Mailman/interfaces/member.py 2007-10-10 02:18:14 +0000 @@ -18,8 +18,49 @@ """Interface describing the basics of a member.""" +from munepy import Enum from zope.interface import Interface, Attribute +__all__ = [ + 'DeliveryMode', + 'DeliveryStatus', + 'IMember', + 'MemberRole', + ] + + + +class DeliveryMode(Enum): + # Regular (i.e. non-digest) delivery + regular = 1 + # Plain text digest delivery + plaintext_digests = 2 + # MIME digest delivery + mime_digests = 3 + # Summary digests + summary_digests = 4 + + + +class DeliveryStatus(Enum): + # Delivery is enabled + enabled = 1 + # Delivery was disabled by the user + by_user = 2 + # Delivery was disabled due to bouncing addresses + by_bounces = 3 + # Delivery was disabled by an administrator or moderator + by_moderator = 4 + # Disabled for unknown reasons. + unknown = 5 + + + +class MemberRole(Enum): + member = 1 + owner = 2 + moderator = 3 + class IMember(Interface): -- https://code.launchpad.net/~mailman-coders/mailman/3.0 You are receiving this branch notification because you are subscribed to it. To unsubscribe from this branch go to https://code.launchpad.net/~mailman-coders/mailman/3.0/+subscription/mailman-checkins. _______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org