diff options
| author | Barry Warsaw | 2009-01-04 00:22:08 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2009-01-04 00:22:08 -0500 |
| commit | 59d2b6181ffa9517da97a6eb43a51396b1ff04f4 (patch) | |
| tree | 58f2a968e5ccaf86e3dbc3616e3d8ab60c244632 | |
| parent | bad70b0046b5612bf1342703cf5de7580e66fb45 (diff) | |
| download | mailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.tar.gz mailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.tar.zst mailman-59d2b6181ffa9517da97a6eb43a51396b1ff04f4.zip | |
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 |
