summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Warsaw2009-01-04 00:22:08 -0500
committerBarry Warsaw2009-01-04 00:22:08 -0500
commit59d2b6181ffa9517da97a6eb43a51396b1ff04f4 (patch)
tree58f2a968e5ccaf86e3dbc3616e3d8ab60c244632
parentbad70b0046b5612bf1342703cf5de7580e66fb45 (diff)
downloadmailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.tar.gz
mailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.tar.zst
mailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.zip
-rw-r--r--mailman/Defaults.py2
-rw-r--r--mailman/app/commands.py2
-rw-r--r--mailman/app/lifecycle.py2
-rw-r--r--mailman/app/membership.py3
-rw-r--r--mailman/app/moderator.py6
-rw-r--r--mailman/app/registrar.py4
-rw-r--r--mailman/chains/base.py2
-rw-r--r--mailman/chains/builtin.py6
-rw-r--r--mailman/chains/headers.py9
-rw-r--r--mailman/chains/hold.py2
-rw-r--r--mailman/commands/echo.py2
-rw-r--r--mailman/commands/end.py2
-rw-r--r--mailman/commands/join.py4
-rw-r--r--mailman/constants.py4
-rw-r--r--mailman/core/chains.py2
-rw-r--r--mailman/core/initialize.py2
-rw-r--r--mailman/core/pipelines.py3
-rw-r--r--mailman/core/rules.py2
-rw-r--r--mailman/core/styles.py7
-rw-r--r--mailman/database/address.py3
-rw-r--r--mailman/database/listmanager.py2
-rw-r--r--mailman/database/mailinglist.py2
-rw-r--r--mailman/database/member.py3
-rw-r--r--mailman/database/message.py2
-rw-r--r--mailman/database/messagestore.py2
-rw-r--r--mailman/database/pending.py2
-rw-r--r--mailman/database/preferences.py2
-rw-r--r--mailman/database/requests.py15
-rw-r--r--mailman/database/roster.py3
-rw-r--r--mailman/database/user.py5
-rw-r--r--mailman/database/usermanager.py3
-rw-r--r--mailman/docs/addresses.txt2
-rw-r--r--mailman/docs/chains.txt2
-rw-r--r--mailman/docs/languages.txt2
-rw-r--r--mailman/docs/lifecycle.txt2
-rw-r--r--mailman/docs/listmanager.txt4
-rw-r--r--mailman/docs/membership.txt2
-rw-r--r--mailman/docs/pending.txt4
-rw-r--r--mailman/docs/registration.txt4
-rw-r--r--mailman/docs/requests.txt8
-rw-r--r--mailman/docs/styles.txt2
-rw-r--r--mailman/docs/usermanager.txt4
-rw-r--r--mailman/docs/users.txt6
-rw-r--r--mailman/i18n.py12
-rw-r--r--mailman/interfaces/__init__.py38
-rw-r--r--mailman/languages.py2
-rw-r--r--mailman/pipeline/__init__.py6
-rw-r--r--mailman/pipeline/acknowledge.py2
-rw-r--r--mailman/pipeline/after_delivery.py6
-rw-r--r--mailman/pipeline/avoid_duplicates.py2
-rw-r--r--mailman/pipeline/calculate_recipients.py3
-rw-r--r--mailman/pipeline/cleanse.py2
-rw-r--r--mailman/pipeline/cleanse_dkim.py2
-rw-r--r--mailman/pipeline/cook_headers.py3
-rw-r--r--mailman/pipeline/decorate.py2
-rw-r--r--mailman/pipeline/docs/acknowledge.txt2
-rw-r--r--mailman/pipeline/docs/avoid-duplicates.txt2
-rw-r--r--mailman/pipeline/docs/calc-recips.txt2
-rw-r--r--mailman/pipeline/docs/cook-headers.txt3
-rw-r--r--mailman/pipeline/docs/file-recips.txt2
-rw-r--r--mailman/pipeline/docs/reply-to.txt2
-rw-r--r--mailman/pipeline/docs/to-outgoing.txt2
-rw-r--r--mailman/pipeline/file_recipients.py2
-rw-r--r--mailman/pipeline/mime_delete.py2
-rw-r--r--mailman/pipeline/replybot.py2
-rw-r--r--mailman/pipeline/scrubber.py2
-rw-r--r--mailman/pipeline/smtp_direct.py3
-rw-r--r--mailman/pipeline/tagger.py2
-rw-r--r--mailman/pipeline/to_archive.py6
-rw-r--r--mailman/pipeline/to_digest.py3
-rw-r--r--mailman/pipeline/to_outgoing.py3
-rw-r--r--mailman/pipeline/to_usenet.py2
-rw-r--r--mailman/queue/command.py2
-rw-r--r--mailman/queue/docs/incoming.txt2
-rw-r--r--mailman/queue/docs/outgoing.txt4
-rw-r--r--mailman/rules/__init__.py6
-rw-r--r--mailman/rules/administrivia.py2
-rw-r--r--mailman/rules/any.py2
-rw-r--r--mailman/rules/approved.py6
-rw-r--r--mailman/rules/docs/moderation.txt2
-rw-r--r--mailman/rules/docs/rules.txt2
-rw-r--r--mailman/rules/emergency.py2
-rw-r--r--mailman/rules/implicit_dest.py2
-rw-r--r--mailman/rules/loop.py2
-rw-r--r--mailman/rules/max_recipients.py2
-rw-r--r--mailman/rules/max_size.py2
-rw-r--r--mailman/rules/moderation.py2
-rw-r--r--mailman/rules/news_moderation.py3
-rw-r--r--mailman/rules/no_subject.py2
-rw-r--r--mailman/rules/suspicious.py2
-rw-r--r--mailman/rules/truth.py2
91 files changed, 169 insertions, 154 deletions
diff --git a/mailman/Defaults.py b/mailman/Defaults.py
index e3a351ad1..6f72ed535 100644
--- a/mailman/Defaults.py
+++ b/mailman/Defaults.py
@@ -19,7 +19,7 @@
from datetime import timedelta
-from mailman.interfaces import ReplyToMunging
+from mailman.interfaces.mailinglist import ReplyToMunging
diff --git a/mailman/app/commands.py b/mailman/app/commands.py
index 9bcd027a0..ef7b0a7c7 100644
--- a/mailman/app/commands.py
+++ b/mailman/app/commands.py
@@ -25,7 +25,7 @@ __all__ = [
from mailman.config import config
from mailman.core.plugins import get_plugins
-from mailman.interfaces import IEmailCommand
+from mailman.interfaces.command import IEmailCommand
diff --git a/mailman/app/lifecycle.py b/mailman/app/lifecycle.py
index 8bc316b43..e0d895650 100644
--- a/mailman/app/lifecycle.py
+++ b/mailman/app/lifecycle.py
@@ -34,7 +34,7 @@ from mailman.Utils import ValidateEmail
from mailman.config import config
from mailman.core import errors
from mailman.core.styles import style_manager
-from mailman.interfaces import MemberRole
+from mailman.interfaces.member import MemberRole
log = logging.getLogger('mailman.error')
diff --git a/mailman/app/membership.py b/mailman/app/membership.py
index 748d7f204..aaab9555b 100644
--- a/mailman/app/membership.py
+++ b/mailman/app/membership.py
@@ -32,7 +32,8 @@ from mailman import i18n
from mailman.app.notifications import send_goodbye_message
from mailman.config import config
from mailman.core import errors
-from mailman.interfaces import AlreadySubscribedError, DeliveryMode, MemberRole
+from mailman.interfaces.member import (
+ AlreadySubscribedError, DeliveryMode, MemberRole)
_ = i18n._
diff --git a/mailman/app/moderator.py b/mailman/app/moderator.py
index e5d37e80f..73a341534 100644
--- a/mailman/app/moderator.py
+++ b/mailman/app/moderator.py
@@ -17,6 +17,7 @@
"""Application support for moderators."""
+__metaclass__ = type
__all__ = [
'handle_message',
'handle_subscription',
@@ -39,8 +40,9 @@ from mailman.app.notifications import (
send_admin_subscription_notice, send_welcome_message)
from mailman.config import config
from mailman.core import errors
-from mailman.interfaces import Action, DeliveryMode, RequestType
-from mailman.interfaces.member import AlreadySubscribedError
+from mailman.interfaces import Action
+from mailman.interfaces.member import AlreadySubscribedError, DeliveryMode
+from mailman.interfaces.requests import RequestType
_ = i18n._
diff --git a/mailman/app/registrar.py b/mailman/app/registrar.py
index 56501bacd..ad291891e 100644
--- a/mailman/app/registrar.py
+++ b/mailman/app/registrar.py
@@ -33,8 +33,10 @@ from mailman.Message import UserNotification
from mailman.Utils import ValidateEmail
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IDomain, IPendable, IRegistrar
+from mailman.interfaces.domain import IDomain
from mailman.interfaces.member import MemberRole
+from mailman.interfaces.pending import IPendable
+from mailman.interfaces.registrar import IRegistrar
diff --git a/mailman/chains/base.py b/mailman/chains/base.py
index c9edcba44..f4e70c303 100644
--- a/mailman/chains/base.py
+++ b/mailman/chains/base.py
@@ -28,7 +28,7 @@ __all__ = [
from zope.interface import implements
from mailman.config import config
-from mailman.interfaces import (
+from mailman.interfaces.chain import (
IChain, IChainIterator, IChainLink, IMutableChain, LinkAction)
diff --git a/mailman/chains/builtin.py b/mailman/chains/builtin.py
index 8f460ba09..1af1dd411 100644
--- a/mailman/chains/builtin.py
+++ b/mailman/chains/builtin.py
@@ -17,8 +17,10 @@
"""The default built-in starting chain."""
-__all__ = ['BuiltInChain']
__metaclass__ = type
+__all__ = [
+ 'BuiltInChain',
+ ]
import logging
@@ -28,7 +30,7 @@ from zope.interface import implements
from mailman.chains.base import Link
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IChain, LinkAction
+from mailman.interfaces.chain import IChain, LinkAction
log = logging.getLogger('mailman.vette')
diff --git a/mailman/chains/headers.py b/mailman/chains/headers.py
index 311e5feee..d76e48c50 100644
--- a/mailman/chains/headers.py
+++ b/mailman/chains/headers.py
@@ -17,8 +17,10 @@
"""The header-matching chain."""
-__all__ = ['HeaderMatchChain']
__metaclass__ = type
+__all__ = [
+ 'HeaderMatchChain',
+ ]
import re
@@ -27,10 +29,11 @@ import itertools
from zope.interface import implements
-from mailman.interfaces import IChainIterator, IRule, LinkAction
from mailman.chains.base import Chain, Link
-from mailman.i18n import _
from mailman.config import config
+from mailman.i18n import _
+from mailman.interfaces.chain import IChainIterator, LinkAction
+from mailman.interfaces.rules import IRule
log = logging.getLogger('mailman.vette')
diff --git a/mailman/chains/hold.py b/mailman/chains/hold.py
index 655771fcb..f46733304 100644
--- a/mailman/chains/hold.py
+++ b/mailman/chains/hold.py
@@ -37,7 +37,7 @@ from mailman.app.moderator import hold_message
from mailman.app.replybot import autorespond_to_sender, can_acknowledge
from mailman.chains.base import TerminalChainBase
from mailman.config import config
-from mailman.interfaces import IPendable
+from mailman.interfaces.pending import IPendable
log = logging.getLogger('mailman.vette')
diff --git a/mailman/commands/echo.py b/mailman/commands/echo.py
index d2719e19b..30590acf8 100644
--- a/mailman/commands/echo.py
+++ b/mailman/commands/echo.py
@@ -26,7 +26,7 @@ __all__ = [
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import ContinueProcessing, IEmailCommand
+from mailman.interfaces.command import ContinueProcessing, IEmailCommand
SPACE = ' '
diff --git a/mailman/commands/end.py b/mailman/commands/end.py
index e744ec7ba..a9298bc92 100644
--- a/mailman/commands/end.py
+++ b/mailman/commands/end.py
@@ -27,7 +27,7 @@ __all__ = [
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import ContinueProcessing, IEmailCommand
+from mailman.interfaces.command import ContinueProcessing, IEmailCommand
diff --git a/mailman/commands/join.py b/mailman/commands/join.py
index 58fbb6428..532b89a08 100644
--- a/mailman/commands/join.py
+++ b/mailman/commands/join.py
@@ -31,8 +31,8 @@ from zope.interface import implements
from mailman.Utils import MakeRandomPassword
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import (
- ContinueProcessing, DeliveryMode, IEmailCommand)
+from mailman.interfaces.command import ContinueProcessing, IEmailCommand
+from mailman.interfaces.member import DeliveryMode
from mailman.interfaces.registrar import IRegistrar
diff --git a/mailman/constants.py b/mailman/constants.py
index 472331ffb..d924b6722 100644
--- a/mailman/constants.py
+++ b/mailman/constants.py
@@ -22,9 +22,11 @@ __all__ = [
]
-from mailman.interfaces import DeliveryMode, DeliveryStatus, IPreferences
from zope.interface import implements
+from mailman.interfaces.member import DeliveryMode, DeliveryStatus
+from mailman.interfaces.preferences import IPreferences
+
class SystemDefaultPreferences(object):
diff --git a/mailman/core/chains.py b/mailman/core/chains.py
index ba34a426e..58935ed39 100644
--- a/mailman/core/chains.py
+++ b/mailman/core/chains.py
@@ -31,7 +31,7 @@ from mailman.chains.headers import HeaderMatchChain
from mailman.chains.hold import HoldChain
from mailman.chains.reject import RejectChain
from mailman.config import config
-from mailman.interfaces import LinkAction
+from mailman.interfaces.chain import LinkAction
diff --git a/mailman/core/initialize.py b/mailman/core/initialize.py
index bf38303d5..c8b457d75 100644
--- a/mailman/core/initialize.py
+++ b/mailman/core/initialize.py
@@ -33,7 +33,7 @@ import mailman.config.config
import mailman.core.logging
from mailman.core.plugins import get_plugin
-from mailman.interfaces import IDatabase
+from mailman.interfaces.database import IDatabase
diff --git a/mailman/core/pipelines.py b/mailman/core/pipelines.py
index bc4a70b87..7be252388 100644
--- a/mailman/core/pipelines.py
+++ b/mailman/core/pipelines.py
@@ -30,7 +30,8 @@ from zope.interface.verify import verifyObject
from mailman.config import config
from mailman.core.plugins import get_plugins
from mailman.i18n import _
-from mailman.interfaces import IHandler, IPipeline
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.pipeline import IPipeline
diff --git a/mailman/core/rules.py b/mailman/core/rules.py
index 62c643937..dec7eb792 100644
--- a/mailman/core/rules.py
+++ b/mailman/core/rules.py
@@ -28,7 +28,7 @@ from zope.interface.verify import verifyObject
from mailman.config import config
from mailman.core.plugins import get_plugins
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/core/styles.py b/mailman/core/styles.py
index aee61790f..11177e725 100644
--- a/mailman/core/styles.py
+++ b/mailman/core/styles.py
@@ -36,9 +36,10 @@ from mailman import Utils
from mailman.config import config
from mailman.core.plugins import get_plugins
from mailman.i18n import _
-from mailman.interfaces import (
- Action, DuplicateStyleError, IStyle, IStyleManager, NewsModeration,
- Personalization)
+from mailman.interfaces import Action, NewsModeration
+from mailman.interfaces.mailinglist import Personalization
+from mailman.interfaces.styles import (
+ DuplicateStyleError, IStyle, IStyleManager)
diff --git a/mailman/database/address.py b/mailman/database/address.py
index f5039cf15..f9740deaf 100644
--- a/mailman/database/address.py
+++ b/mailman/database/address.py
@@ -29,7 +29,8 @@ from mailman.config import config
from mailman.database.member import Member
from mailman.database.model import Model
from mailman.database.preferences import Preferences
-from mailman.interfaces import AlreadySubscribedError, IAddress
+from mailman.interfaces.member import AlreadySubscribedError
+from mailman.interfaces.address import IAddress
diff --git a/mailman/database/listmanager.py b/mailman/database/listmanager.py
index f6a0f5185..0a80a773e 100644
--- a/mailman/database/listmanager.py
+++ b/mailman/database/listmanager.py
@@ -24,7 +24,7 @@ from zope.interface import implements
from mailman.Utils import split_listname, fqdn_listname
from mailman.config import config
from mailman.database.mailinglist import MailingList
-from mailman.interfaces import IListManager, ListAlreadyExistsError
+from mailman.interfaces.listmanager import IListManager, ListAlreadyExistsError
diff --git a/mailman/database/mailinglist.py b/mailman/database/mailinglist.py
index 483cc4749..eac8ad05d 100644
--- a/mailman/database/mailinglist.py
+++ b/mailman/database/mailinglist.py
@@ -28,7 +28,7 @@ from mailman.config import config
from mailman.database import roster
from mailman.database.model import Model
from mailman.database.types import Enum
-from mailman.interfaces import IMailingList, Personalization
+from mailman.interfaces.mailinglist import IMailingList, Personalization
SPACE = ' '
diff --git a/mailman/database/member.py b/mailman/database/member.py
index 244e0853b..a8deb3171 100644
--- a/mailman/database/member.py
+++ b/mailman/database/member.py
@@ -23,7 +23,8 @@ from mailman.config import config
from mailman.constants import SystemDefaultPreferences
from mailman.database.model import Model
from mailman.database.types import Enum
-from mailman.interfaces import IMember, IPreferences
+from mailman.interfaces.member import IMember
+from mailman.interfaces.preferences import IPreferences
diff --git a/mailman/database/message.py b/mailman/database/message.py
index b62fe580b..f74de3c55 100644
--- a/mailman/database/message.py
+++ b/mailman/database/message.py
@@ -20,7 +20,7 @@ from zope.interface import implements
from mailman.config import config
from mailman.database.model import Model
-from mailman.interfaces import IMessage
+from mailman.interfaces.messages import IMessage
diff --git a/mailman/database/messagestore.py b/mailman/database/messagestore.py
index 934015b10..38c353172 100644
--- a/mailman/database/messagestore.py
+++ b/mailman/database/messagestore.py
@@ -31,7 +31,7 @@ from zope.interface import implements
from mailman import Utils
from mailman.config import config
from mailman.database.message import Message
-from mailman.interfaces import IMessageStore
+from mailman.interfaces.messages import IMessageStore
# It could be very bad if you have already stored files and you change this
# value. We'd need a script to reshuffle and resplit.
diff --git a/mailman/database/pending.py b/mailman/database/pending.py
index ff794c83c..9b7094b8b 100644
--- a/mailman/database/pending.py
+++ b/mailman/database/pending.py
@@ -30,7 +30,7 @@ from zope.interface.verify import verifyObject
from mailman import Defaults
from mailman.config import config
from mailman.database.model import Model
-from mailman.interfaces import (
+from mailman.interfaces.pending import (
IPendable, IPended, IPendedKeyValue, IPendings)
diff --git a/mailman/database/preferences.py b/mailman/database/preferences.py
index d7d899c44..244a1d2a7 100644
--- a/mailman/database/preferences.py
+++ b/mailman/database/preferences.py
@@ -20,7 +20,7 @@ from zope.interface import implements
from mailman.database.model import Model
from mailman.database.types import Enum
-from mailman.interfaces import IPreferences
+from mailman.interfaces.preferences import IPreferences
diff --git a/mailman/database/requests.py b/mailman/database/requests.py
index addaf08eb..6e9828cf9 100644
--- a/mailman/database/requests.py
+++ b/mailman/database/requests.py
@@ -17,6 +17,12 @@
"""Implementations of the IRequests and IListRequests interfaces."""
+__metaclass__ = type
+__all__ = [
+ 'Requests',
+ ]
+
+
from datetime import timedelta
from storm.locals import *
from zope.interface import implements
@@ -24,13 +30,8 @@ from zope.interface import implements
from mailman.config import config
from mailman.database.model import Model
from mailman.database.types import Enum
-from mailman.interfaces import IListRequests, IPendable, IRequests, RequestType
-
-
-__metaclass__ = type
-__all__ = [
- 'Requests',
- ]
+from mailman.interfaces.pending import IPendable
+from mailman.interfaces.requests import IListRequests, IRequests, RequestType
diff --git a/mailman/database/roster.py b/mailman/database/roster.py
index d044cc386..d0759e176 100644
--- a/mailman/database/roster.py
+++ b/mailman/database/roster.py
@@ -42,7 +42,8 @@ from mailman.config import config
from mailman.constants import SystemDefaultPreferences
from mailman.database.address import Address
from mailman.database.member import Member
-from mailman.interfaces import DeliveryMode, IRoster, MemberRole
+from mailman.interfaces.member import DeliveryMode, MemberRole
+from mailman.interfaces.roster import IRoster
diff --git a/mailman/database/user.py b/mailman/database/user.py
index d54bb048f..1e2a7085d 100644
--- a/mailman/database/user.py
+++ b/mailman/database/user.py
@@ -24,8 +24,9 @@ from mailman.database.model import Model
from mailman.database.address import Address
from mailman.database.preferences import Preferences
from mailman.database.roster import Memberships
-from mailman.interfaces import (
- AddressAlreadyLinkedError, AddressNotLinkedError, IUser)
+from mailman.interfaces.address import (
+ AddressAlreadyLinkedError, AddressNotLinkedError)
+from mailman.interfaces.user import IUser
diff --git a/mailman/database/usermanager.py b/mailman/database/usermanager.py
index 87a8cd208..ea628c835 100644
--- a/mailman/database/usermanager.py
+++ b/mailman/database/usermanager.py
@@ -25,7 +25,8 @@ from mailman.config import config
from mailman.database.address import Address
from mailman.database.preferences import Preferences
from mailman.database.user import User
-from mailman.interfaces import ExistingAddressError, IUserManager
+from mailman.interfaces.address import ExistingAddressError
+from mailman.interfaces.usermanager import IUserManager
diff --git a/mailman/docs/addresses.txt b/mailman/docs/addresses.txt
index 6ddb8b8a9..9eccb2673 100644
--- a/mailman/docs/addresses.txt
+++ b/mailman/docs/addresses.txt
@@ -149,7 +149,7 @@ subscribed, a role is specified.
>>> address_5 = usermgr.create_address(
... u'eperson@example.com', u'Elly Person')
>>> mlist = config.db.list_manager.create(u'_xtext@example.com')
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> address_5.subscribe(mlist, MemberRole.owner)
<Member: Elly Person <eperson@example.com> on
_xtext@example.com as MemberRole.owner>
diff --git a/mailman/docs/chains.txt b/mailman/docs/chains.txt
index b9fe45686..e9c5d74e4 100644
--- a/mailman/docs/chains.txt
+++ b/mailman/docs/chains.txt
@@ -15,7 +15,7 @@ The Discard chain
The Discard chain simply throws the message away.
>>> from zope.interface.verify import verifyObject
- >>> from mailman.interfaces import IChain
+ >>> from mailman.interfaces.chain import IChain
>>> chain = config.chains['discard']
>>> verifyObject(IChain, chain)
True
diff --git a/mailman/docs/languages.txt b/mailman/docs/languages.txt
index cd4e69241..775b933e8 100644
--- a/mailman/docs/languages.txt
+++ b/mailman/docs/languages.txt
@@ -6,7 +6,7 @@ languages at run time, as well as enabling those languages for use in a
running Mailman instance.
>>> from zope.interface.verify import verifyObject
- >>> from mailman.interfaces import ILanguageManager
+ >>> from mailman.interfaces.languages import ILanguageManager
>>> from mailman.languages import LanguageManager
>>> mgr = LanguageManager()
>>> verifyObject(ILanguageManager, mgr)
diff --git a/mailman/docs/lifecycle.txt b/mailman/docs/lifecycle.txt
index ab5e6ac23..1e28f03ce 100644
--- a/mailman/docs/lifecycle.txt
+++ b/mailman/docs/lifecycle.txt
@@ -45,7 +45,7 @@ Creating a list applies its styles
Start by registering a test style.
>>> from zope.interface import implements
- >>> from mailman.interfaces import IStyle
+ >>> from mailman.interfaces.styles import IStyle
>>> class TestStyle(object):
... implements(IStyle)
... name = 'test'
diff --git a/mailman/docs/listmanager.txt b/mailman/docs/listmanager.txt
index 1925e9466..830f6d962 100644
--- a/mailman/docs/listmanager.txt
+++ b/mailman/docs/listmanager.txt
@@ -6,7 +6,7 @@ objects. The Mailman system instantiates an IListManager for you based on the
configuration variable MANAGERS_INIT_FUNCTION. The instance is accessible
on the global config object.
- >>> from mailman.interfaces import IListManager
+ >>> from mailman.interfaces.listmanager import IListManager
>>> listmgr = config.db.list_manager
>>> IListManager.providedBy(listmgr)
True
@@ -17,7 +17,7 @@ Creating a mailing list
Creating the list returns the newly created IMailList object.
- >>> from mailman.interfaces import IMailingList
+ >>> from mailman.interfaces.mailinglist import IMailingList
>>> mlist = listmgr.create(u'_xtest@example.com')
>>> IMailingList.providedBy(mlist)
True
diff --git a/mailman/docs/membership.txt b/mailman/docs/membership.txt
index cb6515532..7f9f16738 100644
--- a/mailman/docs/membership.txt
+++ b/mailman/docs/membership.txt
@@ -72,7 +72,7 @@ no users in the user database yet.
We can add Anne as an owner of the mailing list, by creating a member role for
her.
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> address_1 = list(user_1.addresses)[0]
>>> address_1.address
u'aperson@example.com'
diff --git a/mailman/docs/pending.txt b/mailman/docs/pending.txt
index f6895b818..abfba4885 100644
--- a/mailman/docs/pending.txt
+++ b/mailman/docs/pending.txt
@@ -12,7 +12,7 @@ This is not where messages held for administrator approval are kept.
In order to pend an event, you first need a pending database, which is
available by adapting the list manager.
- >>> from mailman.interfaces import IPendings
+ >>> from mailman.interfaces.pending import IPendings
>>> pendingdb = config.db.pendings
>>> verifyObject(IPendings, pendingdb)
True
@@ -20,7 +20,7 @@ available by adapting the list manager.
The pending database can add any IPendable to the database, returning a token
that can be used in urls and such.
- >>> from mailman.interfaces import IPendable
+ >>> from mailman.interfaces.pending import IPendable
>>> class SimplePendable(dict):
... implements(IPendable)
>>> subscription = SimplePendable(
diff --git a/mailman/docs/registration.txt b/mailman/docs/registration.txt
index a91980e0c..2e04f7ddf 100644
--- a/mailman/docs/registration.txt
+++ b/mailman/docs/registration.txt
@@ -8,7 +8,7 @@ may supply. All registered email addresses must be verified before Mailman
will send them any list traffic.
>>> from mailman.app.registrar import Registrar
- >>> from mailman.interfaces import IRegistrar
+ >>> from mailman.interfaces.registrar import IRegistrar
The IUserManager manages users, but it does so at a fairly low level.
Specifically, it does not handle verifications, email address syntax validity
@@ -319,7 +319,7 @@ Likewise, if you try to confirm, through the IUserRegistrar interface, a token
that doesn't match a registration even, you will get None. However, the
pending even matched with that token will still be removed.
- >>> from mailman.interfaces import IPendable
+ >>> from mailman.interfaces.pending import IPendable
>>> from zope.interface import implements
>>> class SimplePendable(dict):
diff --git a/mailman/docs/requests.txt b/mailman/docs/requests.txt
index 0ebb9ff8d..aa6f031bd 100644
--- a/mailman/docs/requests.txt
+++ b/mailman/docs/requests.txt
@@ -34,7 +34,7 @@ Mailing list centric
A set of requests are always related to a particular mailing list, so given a
mailing list you need to get its requests object.
- >>> from mailman.interfaces import IListRequests, IRequests
+ >>> from mailman.interfaces.requests import IListRequests, IRequests
>>> from zope.interface.verify import verifyObject
>>> verifyObject(IRequests, config.db.requests)
True
@@ -61,7 +61,7 @@ requires a request type (as an enum value), a key, and an optional dictionary
of associated data. The request database assigns no semantics to the held
data, except for the request type. Here we hold some simple bits of data.
- >>> from mailman.interfaces import RequestType
+ >>> from mailman.interfaces.requests import RequestType
>>> id_1 = requests.hold_request(RequestType.held_message, u'hold_1')
>>> id_2 = requests.hold_request(RequestType.subscription, u'hold_2')
>>> id_3 = requests.hold_request(RequestType.unsubscription, u'hold_3')
@@ -402,7 +402,7 @@ subscription must be provided, including the subscriber's address and real
name, their password (possibly hashed), what kind of delivery option they are
chosing and their preferred language.
- >>> from mailman.interfaces import DeliveryMode
+ >>> from mailman.interfaces.member import DeliveryMode
>>> mlist.admin_immed_notify = False
>>> id_3 = moderator.hold_subscription(mlist,
... u'bperson@example.org', u'Ben Person',
@@ -674,7 +674,7 @@ In this case, only the unsubscribing address is required. Like subscriptions,
unsubscription holds can send the list's moderators an immediate notification.
>>> mlist.admin_immed_notify = False
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> user_1 = config.db.user_manager.create_user(u'gperson@example.com')
>>> address_1 = list(user_1.addresses)[0]
>>> address_1.subscribe(mlist, MemberRole.member)
diff --git a/mailman/docs/styles.txt b/mailman/docs/styles.txt
index f75a34798..49f337e15 100644
--- a/mailman/docs/styles.txt
+++ b/mailman/docs/styles.txt
@@ -61,7 +61,7 @@ Registering styles
New styles must implement the IStyle interface.
>>> from zope.interface import implements
- >>> from mailman.interfaces import IStyle
+ >>> from mailman.interfaces.styles import IStyle
>>> class TestStyle(object):
... implements(IStyle)
... name = 'test'
diff --git a/mailman/docs/usermanager.txt b/mailman/docs/usermanager.txt
index 5f03d84a6..f8cbfeef2 100644
--- a/mailman/docs/usermanager.txt
+++ b/mailman/docs/usermanager.txt
@@ -6,7 +6,7 @@ system instantiates an IUserManager for you based on the configuration
variable MANAGERS_INIT_FUNCTION. The instance is accessible on the global
config object.
- >>> from mailman.interfaces import IUserManager
+ >>> from mailman.interfaces.usermanager import IUserManager
>>> from zope.interface.verify import verifyObject
>>> usermgr = config.db.user_manager
>>> verifyObject(IUserManager, usermgr)
@@ -21,7 +21,7 @@ create a 'blank' user by not providing an address or real name at creation
time. This user will have an empty string as their real name, but will not
have a password.
- >>> from mailman.interfaces import IUser
+ >>> from mailman.interfaces.user import IUser
>>> user = usermgr.create_user()
>>> verifyObject(IUser, user)
True
diff --git a/mailman/docs/users.txt b/mailman/docs/users.txt
index e1f0e3302..ff7b9ca84 100644
--- a/mailman/docs/users.txt
+++ b/mailman/docs/users.txt
@@ -122,7 +122,7 @@ This is a helper function for the following section.
Users have preferences, but these preferences have no default settings.
- >>> from mailman.interfaces import IPreferences
+ >>> from mailman.interfaces.preferences import IPreferences
>>> show_prefs(user_1.preferences)
acknowledge_posts : None
preferred_language : None
@@ -164,7 +164,7 @@ membership role.
>>> mlist_1 = create_list(u'xtest_1@example.com')
>>> mlist_2 = create_list(u'xtest_2@example.com')
>>> mlist_3 = create_list(u'xtest_3@example.com')
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> com.subscribe(mlist_1, MemberRole.member)
<Member: Zoe Person <zperson@example.com> on xtest_1@example.com as
@@ -178,7 +178,7 @@ membership role.
MemberRole.moderator>
>>> memberships = user_1.memberships
- >>> from mailman.interfaces import IRoster
+ >>> from mailman.interfaces.roster import IRoster
>>> from zope.interface.verify import verifyObject
>>> verifyObject(IRoster, memberships)
True
diff --git a/mailman/i18n.py b/mailman/i18n.py
index 627d509f7..374fee399 100644
--- a/mailman/i18n.py
+++ b/mailman/i18n.py
@@ -15,6 +15,18 @@
# You should have received a copy of the GNU General Public License along with
# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
+"""Internationalization support."""
+
+__metaclass__ = type
+__all__ = [
+ '_',
+ 'get_translation',
+ 'set_language',
+ 'set_translation',
+ 'using_language',
+ ]
+
+
import os
import sys
import time
diff --git a/mailman/interfaces/__init__.py b/mailman/interfaces/__init__.py
index c39dd55ad..a9f3fb982 100644
--- a/mailman/interfaces/__init__.py
+++ b/mailman/interfaces/__init__.py
@@ -15,48 +15,14 @@
# You should have received a copy of the GNU General Public License along with
# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
-import os
-import sys
-
-from munepy import Enum
-from zope.interface import implementedBy
-from zope.interface.interfaces import IInterface
-
+__metaclass__ = type
__all__ = [
'Action',
'NewsModeration',
]
-
-def _populate():
- import mailman.interfaces
- iface_mod = sys.modules['mailman.interfaces']
- # Expose interfaces defined in sub-modules into the top-level package
- for filename in os.listdir(os.path.dirname(iface_mod.__file__)):
- base, ext = os.path.splitext(filename)
- if ext <> '.py':
- continue
- modname = 'mailman.interfaces.' + base
- __import__(modname)
- module = sys.modules[modname]
- for name in dir(module):
- obj = getattr(module, name)
- try:
- is_enum = issubclass(obj, Enum)
- except TypeError:
- is_enum = False
- is_interface = IInterface.providedBy(obj)
- try:
- is_exception = issubclass(obj, Exception)
- except TypeError:
- is_exception = False
- if is_interface or is_exception or is_enum:
- setattr(iface_mod, name, obj)
- __all__.append(name)
-
-
-_populate()
+from munepy import Enum
diff --git a/mailman/languages.py b/mailman/languages.py
index dd37fbc34..2fd93aaf6 100644
--- a/mailman/languages.py
+++ b/mailman/languages.py
@@ -18,7 +18,7 @@
"""Language manager."""
from zope.interface import implements
-from mailman.interfaces import ILanguageManager
+from mailman.interfaces.languages import ILanguageManager
diff --git a/mailman/pipeline/__init__.py b/mailman/pipeline/__init__.py
index a77e00915..d6e1b0129 100644
--- a/mailman/pipeline/__init__.py
+++ b/mailman/pipeline/__init__.py
@@ -18,13 +18,15 @@
"""The built in set of pipeline handlers."""
__metaclass__ = type
-__all__ = ['initialize']
+__all__ = [
+ 'initialize',
+ ]
import os
import sys
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/acknowledge.py b/mailman/pipeline/acknowledge.py
index 57817b6b0..1e42f5049 100644
--- a/mailman/pipeline/acknowledge.py
+++ b/mailman/pipeline/acknowledge.py
@@ -30,7 +30,7 @@ from mailman import Message
from mailman import Utils
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/after_delivery.py b/mailman/pipeline/after_delivery.py
index e5bc98fcd..d19d4a541 100644
--- a/mailman/pipeline/after_delivery.py
+++ b/mailman/pipeline/after_delivery.py
@@ -18,7 +18,9 @@
"""Perform some bookkeeping after a successful post."""
__metaclass__ = type
-__all__ = ['AfterDelivery']
+__all__ = [
+ 'AfterDelivery',
+ ]
import datetime
@@ -26,7 +28,7 @@ import datetime
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/avoid_duplicates.py b/mailman/pipeline/avoid_duplicates.py
index ddfbc4578..d7e920e81 100644
--- a/mailman/pipeline/avoid_duplicates.py
+++ b/mailman/pipeline/avoid_duplicates.py
@@ -32,7 +32,7 @@ from zope.interface import implements
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
COMMASPACE = ', '
diff --git a/mailman/pipeline/calculate_recipients.py b/mailman/pipeline/calculate_recipients.py
index 18d237ec0..8f1310ab8 100644
--- a/mailman/pipeline/calculate_recipients.py
+++ b/mailman/pipeline/calculate_recipients.py
@@ -33,7 +33,8 @@ from mailman import Utils
from mailman.config import config
from mailman.core import errors
from mailman.i18n import _
-from mailman.interfaces import DeliveryStatus, IHandler
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.member import DeliveryStatus
diff --git a/mailman/pipeline/cleanse.py b/mailman/pipeline/cleanse.py
index a2b19545e..28c660bdc 100644
--- a/mailman/pipeline/cleanse.py
+++ b/mailman/pipeline/cleanse.py
@@ -27,7 +27,7 @@ from email.Utils import formataddr
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
from mailman.pipeline.cook_headers import uheader
diff --git a/mailman/pipeline/cleanse_dkim.py b/mailman/pipeline/cleanse_dkim.py
index 4edd8193d..bd7de83dc 100644
--- a/mailman/pipeline/cleanse_dkim.py
+++ b/mailman/pipeline/cleanse_dkim.py
@@ -33,7 +33,7 @@ from zope.interface import implements
from mailman import Defaults
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/cook_headers.py b/mailman/pipeline/cook_headers.py
index 18000e01a..d8d5e3651 100644
--- a/mailman/pipeline/cook_headers.py
+++ b/mailman/pipeline/cook_headers.py
@@ -35,7 +35,8 @@ from mailman import Utils
from mailman.config import config
from mailman.core.plugins import get_plugins
from mailman.i18n import _
-from mailman.interfaces import IHandler, Personalization, ReplyToMunging
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.mailinglist import Personalization, ReplyToMunging
from mailman.version import VERSION
diff --git a/mailman/pipeline/decorate.py b/mailman/pipeline/decorate.py
index 4e4b1b97b..2a7e7b065 100644
--- a/mailman/pipeline/decorate.py
+++ b/mailman/pipeline/decorate.py
@@ -33,7 +33,7 @@ from mailman import Utils
from mailman.Message import Message
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
log = logging.getLogger('mailman.error')
diff --git a/mailman/pipeline/docs/acknowledge.txt b/mailman/pipeline/docs/acknowledge.txt
index aabd8196a..a4c68f900 100644
--- a/mailman/pipeline/docs/acknowledge.txt
+++ b/mailman/pipeline/docs/acknowledge.txt
@@ -21,7 +21,7 @@ acknowledgment.
Subscribe a user to the mailing list.
>>> usermgr = config.db.user_manager
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> user_1 = usermgr.create_user(u'aperson@example.com')
>>> address_1 = list(user_1.addresses)[0]
>>> address_1.subscribe(mlist, MemberRole.member)
diff --git a/mailman/pipeline/docs/avoid-duplicates.txt b/mailman/pipeline/docs/avoid-duplicates.txt
index e1d31716a..fe91a9a71 100644
--- a/mailman/pipeline/docs/avoid-duplicates.txt
+++ b/mailman/pipeline/docs/avoid-duplicates.txt
@@ -11,7 +11,7 @@ recipients from the list of recipients that earlier handler modules
Create some members we're going to use.
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> address_a = config.db.user_manager.create_address(
... u'aperson@example.com')
>>> address_b = config.db.user_manager.create_address(
diff --git a/mailman/pipeline/docs/calc-recips.txt b/mailman/pipeline/docs/calc-recips.txt
index 550edff51..adfbeabbf 100644
--- a/mailman/pipeline/docs/calc-recips.txt
+++ b/mailman/pipeline/docs/calc-recips.txt
@@ -21,7 +21,7 @@ start out with. First, create a bunch of addresses...
...then subscribe these addresses to the mailing list as members...
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member 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)
diff --git a/mailman/pipeline/docs/cook-headers.txt b/mailman/pipeline/docs/cook-headers.txt
index eb1a4e6bc..732231e1f 100644
--- a/mailman/pipeline/docs/cook-headers.txt
+++ b/mailman/pipeline/docs/cook-headers.txt
@@ -300,7 +300,8 @@ messages are fully personalized, that header will get overwritten with the
address of the recipient. The list's posting address will be added to one of
the recipient headers so that users will be able to reply back to the list.
- >>> from mailman.interfaces import Personalization, ReplyToMunging
+ >>> from mailman.interfaces.mailinglist import (
+ ... Personalization, ReplyToMunging)
>>> mlist.personalize = Personalization.full
>>> mlist.reply_goes_to_list = ReplyToMunging.no_munging
>>> msg = message_from_string("""\
diff --git a/mailman/pipeline/docs/file-recips.txt b/mailman/pipeline/docs/file-recips.txt
index d006151ba..81510b6e7 100644
--- a/mailman/pipeline/docs/file-recips.txt
+++ b/mailman/pipeline/docs/file-recips.txt
@@ -78,7 +78,7 @@ However, if the sender of the original message is a member of the list and
their address is in the include file, the sender's address is /not/ included
in the recipients list.
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> address_1 = config.db.user_manager.create_address(
... u'cperson@example.com')
>>> address_1.subscribe(mlist, MemberRole.member)
diff --git a/mailman/pipeline/docs/reply-to.txt b/mailman/pipeline/docs/reply-to.txt
index 570ffb7ea..e57b97e5d 100644
--- a/mailman/pipeline/docs/reply-to.txt
+++ b/mailman/pipeline/docs/reply-to.txt
@@ -36,7 +36,7 @@ A list can be configured to add a Reply-To header pointing back to the mailing
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.interfaces import ReplyToMunging
+ >>> from mailman.interfaces.mailinglist import ReplyToMunging
>>> mlist.reply_goes_to_list = ReplyToMunging.point_to_list
>>> mlist.preferred_language = u'en'
>>> mlist.description = u''
diff --git a/mailman/pipeline/docs/to-outgoing.txt b/mailman/pipeline/docs/to-outgoing.txt
index 81e870e6c..e7f412690 100644
--- a/mailman/pipeline/docs/to-outgoing.txt
+++ b/mailman/pipeline/docs/to-outgoing.txt
@@ -68,7 +68,7 @@ VERP'd.
>>> from mailman import Defaults
>>> verp_personalized_delivieries = Defaults.VERP_PERSONALIZED_DELIVERIES
>>> Defaults.VERP_PERSONALIZED_DELIVERIES = True
- >>> from mailman.interfaces import Personalization
+ >>> from mailman.interfaces.mailinglist import Personalization
>>> mlist.personalize = Personalization.individual
>>> msgdata = dict(foo=1, bar=2)
>>> handler.process(mlist, msg, msgdata)
diff --git a/mailman/pipeline/file_recipients.py b/mailman/pipeline/file_recipients.py
index 75a00c14e..f356e2e18 100644
--- a/mailman/pipeline/file_recipients.py
+++ b/mailman/pipeline/file_recipients.py
@@ -29,7 +29,7 @@ import errno
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/mime_delete.py b/mailman/pipeline/mime_delete.py
index 57d529112..0245e347a 100644
--- a/mailman/pipeline/mime_delete.py
+++ b/mailman/pipeline/mime_delete.py
@@ -42,7 +42,7 @@ from mailman.Utils import oneline
from mailman.config import config
from mailman.core import errors
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
from mailman.queue import Switchboard
from mailman.version import VERSION
diff --git a/mailman/pipeline/replybot.py b/mailman/pipeline/replybot.py
index e889e58af..ee0894d12 100644
--- a/mailman/pipeline/replybot.py
+++ b/mailman/pipeline/replybot.py
@@ -31,7 +31,7 @@ from zope.interface import implements
from mailman import Message
from mailman import Utils
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
log = logging.getLogger('mailman.error')
diff --git a/mailman/pipeline/scrubber.py b/mailman/pipeline/scrubber.py
index b8beb22ad..7431cec27 100644
--- a/mailman/pipeline/scrubber.py
+++ b/mailman/pipeline/scrubber.py
@@ -44,7 +44,7 @@ from mailman.config import config
from mailman.core.errors import DiscardMessage
from mailman.core.plugins import get_plugin
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
# Path characters for common platforms
diff --git a/mailman/pipeline/smtp_direct.py b/mailman/pipeline/smtp_direct.py
index b203ebb8e..9d2019ec4 100644
--- a/mailman/pipeline/smtp_direct.py
+++ b/mailman/pipeline/smtp_direct.py
@@ -50,7 +50,8 @@ from mailman import Utils
from mailman.config import config
from mailman.core import errors
from mailman.i18n import _
-from mailman.interfaces import IHandler, Personalization
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.mailinglist import Personalization
DOT = '.'
diff --git a/mailman/pipeline/tagger.py b/mailman/pipeline/tagger.py
index d631342d3..db4bb13b9 100644
--- a/mailman/pipeline/tagger.py
+++ b/mailman/pipeline/tagger.py
@@ -30,7 +30,7 @@ import email.Parser
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
OR = '|'
diff --git a/mailman/pipeline/to_archive.py b/mailman/pipeline/to_archive.py
index 5c32be53d..15f4c856e 100644
--- a/mailman/pipeline/to_archive.py
+++ b/mailman/pipeline/to_archive.py
@@ -18,14 +18,16 @@
"""Add the message to the archives."""
__metaclass__ = type
-__all__ = ['ToArchive']
+__all__ = [
+ 'ToArchive',
+ ]
from zope.interface import implements
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
diff --git a/mailman/pipeline/to_digest.py b/mailman/pipeline/to_digest.py
index 96bfcdf47..d71bc71b0 100644
--- a/mailman/pipeline/to_digest.py
+++ b/mailman/pipeline/to_digest.py
@@ -56,7 +56,8 @@ from mailman.Mailbox import Mailbox
from mailman.Mailbox import Mailbox
from mailman.config import config
from mailman.core import errors
-from mailman.interfaces import DeliveryMode, DeliveryStatus, IHandler
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.member import DeliveryMode, DeliveryStatus
from mailman.pipeline.decorate import decorate
from mailman.pipeline.scrubber import process as scrubber
diff --git a/mailman/pipeline/to_outgoing.py b/mailman/pipeline/to_outgoing.py
index fdf201793..7d56686b7 100644
--- a/mailman/pipeline/to_outgoing.py
+++ b/mailman/pipeline/to_outgoing.py
@@ -31,7 +31,8 @@ from zope.interface import implements
from mailman import Defaults
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler, Personalization
+from mailman.interfaces.handler import IHandler
+from mailman.interfaces.mailinglist import Personalization
diff --git a/mailman/pipeline/to_usenet.py b/mailman/pipeline/to_usenet.py
index 08e785d54..a635b65b3 100644
--- a/mailman/pipeline/to_usenet.py
+++ b/mailman/pipeline/to_usenet.py
@@ -27,7 +27,7 @@ from zope.interface import implements
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IHandler
+from mailman.interfaces.handler import IHandler
COMMASPACE = ', '
diff --git a/mailman/queue/command.py b/mailman/queue/command.py
index db6feba57..983f6e77a 100644
--- a/mailman/queue/command.py
+++ b/mailman/queue/command.py
@@ -46,7 +46,7 @@ from mailman import Utils
from mailman.app.replybot import autorespond_to_sender
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import ContinueProcessing, IEmailResults
+from mailman.interfaces.command import ContinueProcessing, IEmailResults
from mailman.queue import Runner
NL = '\n'
diff --git a/mailman/queue/docs/incoming.txt b/mailman/queue/docs/incoming.txt
index 7402d2aaf..deb340e71 100644
--- a/mailman/queue/docs/incoming.txt
+++ b/mailman/queue/docs/incoming.txt
@@ -111,7 +111,7 @@ built-in chain does not have such a disposition by default, so let's craft a
new chain and set it as the mailing list's start chain.
>>> from mailman.chains.base import Chain, Link
- >>> from mailman.interfaces import LinkAction
+ >>> from mailman.interfaces.chain import LinkAction
>>> truth_rule = config.rules['truth']
>>> discard_chain = config.chains['discard']
>>> test_chain = Chain('always-discard', u'Testing discards')
diff --git a/mailman/queue/docs/outgoing.txt b/mailman/queue/docs/outgoing.txt
index 851bdf474..6722dee84 100644
--- a/mailman/queue/docs/outgoing.txt
+++ b/mailman/queue/docs/outgoing.txt
@@ -15,7 +15,7 @@ move messages to the 'retry queue' for handling delivery failures.
>>> mlist = create_list(u'test@example.com')
>>> from mailman.app.membership import add_member
- >>> from mailman.interfaces import DeliveryMode
+ >>> from mailman.interfaces.member import DeliveryMode
>>> add_member(mlist, u'aperson@example.com', u'Anne Person',
... u'password', DeliveryMode.regular, u'en')
>>> add_member(mlist, u'bperson@example.com', u'Bart Person',
@@ -26,7 +26,7 @@ move messages to the 'retry queue' for handling delivery failures.
By setting the mailing list to personalize messages, each recipient will get a
unique copy of the message, with certain headers tailored for that recipient.
- >>> from mailman.interfaces import Personalization
+ >>> from mailman.interfaces.mailinglist import Personalization
>>> mlist.personalize = Personalization.individual
>>> commit()
diff --git a/mailman/rules/__init__.py b/mailman/rules/__init__.py
index f7cf3da38..82a463f76 100644
--- a/mailman/rules/__init__.py
+++ b/mailman/rules/__init__.py
@@ -18,13 +18,15 @@
"""The built in rule set."""
__metaclass__ = type
-__all__ = ['initialize']
+__all__ = [
+ 'initialize',
+ ]
import os
import sys
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/administrivia.py b/mailman/rules/administrivia.py
index 802229101..f21db6744 100644
--- a/mailman/rules/administrivia.py
+++ b/mailman/rules/administrivia.py
@@ -28,7 +28,7 @@ from zope.interface import implements
from mailman.config import config
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
# The list of email commands we search for in the Subject header and payload.
diff --git a/mailman/rules/any.py b/mailman/rules/any.py
index 14e01ce5a..71df37584 100644
--- a/mailman/rules/any.py
+++ b/mailman/rules/any.py
@@ -24,7 +24,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/approved.py b/mailman/rules/approved.py
index 3ad14b195..79dc0d934 100644
--- a/mailman/rules/approved.py
+++ b/mailman/rules/approved.py
@@ -17,8 +17,10 @@
"""Look for moderator pre-approval."""
-__all__ = ['Approved']
__metaclass__ = type
+__all__ = [
+ 'Approved',
+ ]
import re
@@ -26,7 +28,7 @@ from email.iterators import typed_subpart_iterator
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
EMPTYSTRING = u''
diff --git a/mailman/rules/docs/moderation.txt b/mailman/rules/docs/moderation.txt
index 9f3663517..5e002a850 100644
--- a/mailman/rules/docs/moderation.txt
+++ b/mailman/rules/docs/moderation.txt
@@ -28,7 +28,7 @@ Let's add the message author as a non-moderated member.
>>> user = config.db.user_manager.create_user(
... u'aperson@example.org', u'Anne Person')
>>> address = list(user.addresses)[0]
- >>> from mailman.interfaces import MemberRole
+ >>> from mailman.interfaces.member import MemberRole
>>> member = address.subscribe(mlist, MemberRole.member)
>>> member.is_moderated
False
diff --git a/mailman/rules/docs/rules.txt b/mailman/rules/docs/rules.txt
index bae9f594a..1fba63b64 100644
--- a/mailman/rules/docs/rules.txt
+++ b/mailman/rules/docs/rules.txt
@@ -13,7 +13,7 @@ Rules are maintained in the configuration object as a dictionary mapping rule
names to rule objects.
>>> from zope.interface.verify import verifyObject
- >>> from mailman.interfaces import IRule
+ >>> from mailman.interfaces.rules import IRule
>>> for rule_name in sorted(config.rules):
... rule = config.rules[rule_name]
... print rule_name, verifyObject(IRule, rule)
diff --git a/mailman/rules/emergency.py b/mailman/rules/emergency.py
index deff0c4fd..f24acba8c 100644
--- a/mailman/rules/emergency.py
+++ b/mailman/rules/emergency.py
@@ -24,7 +24,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/implicit_dest.py b/mailman/rules/implicit_dest.py
index f50f88f1d..9320a9ea1 100644
--- a/mailman/rules/implicit_dest.py
+++ b/mailman/rules/implicit_dest.py
@@ -26,7 +26,7 @@ from email.utils import getaddresses
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/loop.py b/mailman/rules/loop.py
index 74d46b8cd..a0abbbaa4 100644
--- a/mailman/rules/loop.py
+++ b/mailman/rules/loop.py
@@ -24,7 +24,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/max_recipients.py b/mailman/rules/max_recipients.py
index 1f8ecda2e..6fa3e1ee4 100644
--- a/mailman/rules/max_recipients.py
+++ b/mailman/rules/max_recipients.py
@@ -25,7 +25,7 @@ from email.utils import getaddresses
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/max_size.py b/mailman/rules/max_size.py
index 33d6a8df0..1ce280e88 100644
--- a/mailman/rules/max_size.py
+++ b/mailman/rules/max_size.py
@@ -24,7 +24,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/moderation.py b/mailman/rules/moderation.py
index 99b4b0a30..6f6bcfb36 100644
--- a/mailman/rules/moderation.py
+++ b/mailman/rules/moderation.py
@@ -27,7 +27,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/news_moderation.py b/mailman/rules/news_moderation.py
index 3c55a724f..822e43445 100644
--- a/mailman/rules/news_moderation.py
+++ b/mailman/rules/news_moderation.py
@@ -24,7 +24,8 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule, NewsModeration
+from mailman.interfaces import NewsModeration
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/no_subject.py b/mailman/rules/no_subject.py
index f77688aae..08848154d 100644
--- a/mailman/rules/no_subject.py
+++ b/mailman/rules/no_subject.py
@@ -24,7 +24,7 @@ __metaclass__ = type
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/suspicious.py b/mailman/rules/suspicious.py
index 92f885558..13052298b 100644
--- a/mailman/rules/suspicious.py
+++ b/mailman/rules/suspicious.py
@@ -27,7 +27,7 @@ from email.utils import getaddresses
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule
diff --git a/mailman/rules/truth.py b/mailman/rules/truth.py
index aa5599fb0..4d1a3cca7 100644
--- a/mailman/rules/truth.py
+++ b/mailman/rules/truth.py
@@ -24,7 +24,7 @@ __all__ = ['Truth']
from zope.interface import implements
from mailman.i18n import _
-from mailman.interfaces import IRule
+from mailman.interfaces.rules import IRule