------------------------------------------------------------
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
[email protected]
Unsubscribe:
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org