summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces
diff options
context:
space:
mode:
authorBarry Warsaw2016-03-24 21:29:30 -0400
committerBarry Warsaw2016-03-24 21:29:30 -0400
commit5404f98d90410d69a744d9c0fb71a8a31f3a4a88 (patch)
treebeb5010e4d74ab0f8056419dc05058fc2bbd8cc6 /src/mailman/interfaces
parenta0cf7d44cbf0527d8bac05f870208a85689da42f (diff)
downloadmailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.tar.gz
mailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.tar.zst
mailman-5404f98d90410d69a744d9c0fb71a8a31f3a4a88.zip
Clean up the core directory.
mailman/core/errors.py is gone now. We had a duplicate base exception which now always comes from mailman/interfaces/errors.py. Obsolete/unused exceptions are remove. The other exceptions are moved to better locations.
Diffstat (limited to 'src/mailman/interfaces')
-rw-r--r--src/mailman/interfaces/configuration.py2
-rw-r--r--src/mailman/interfaces/domain.py2
-rw-r--r--src/mailman/interfaces/errors.py2
-rw-r--r--src/mailman/interfaces/member.py2
-rw-r--r--src/mailman/interfaces/mta.py2
-rw-r--r--src/mailman/interfaces/pipeline.py36
6 files changed, 36 insertions, 10 deletions
diff --git a/src/mailman/interfaces/configuration.py b/src/mailman/interfaces/configuration.py
index ba244d876..f68ba4785 100644
--- a/src/mailman/interfaces/configuration.py
+++ b/src/mailman/interfaces/configuration.py
@@ -24,7 +24,7 @@ __all__ = [
]
-from mailman.core.errors import MailmanError
+from mailman.interfaces.errors import MailmanError
from zope.interface import Interface
diff --git a/src/mailman/interfaces/domain.py b/src/mailman/interfaces/domain.py
index 25aa54cc3..e978479df 100644
--- a/src/mailman/interfaces/domain.py
+++ b/src/mailman/interfaces/domain.py
@@ -28,7 +28,7 @@ __all__ = [
]
-from mailman.core.errors import MailmanError
+from mailman.interfaces.errors import MailmanError
from zope.interface import Interface, Attribute
diff --git a/src/mailman/interfaces/errors.py b/src/mailman/interfaces/errors.py
index 64194a70d..6045e4868 100644
--- a/src/mailman/interfaces/errors.py
+++ b/src/mailman/interfaces/errors.py
@@ -22,11 +22,11 @@ components. More specific exceptions will be located in the relevant
interfaces.
"""
+# We can't use @mailman.public here because of circular imports.
__all__ = [
'MailmanError',
]
-
class MailmanError(Exception):
"""Base class for all Mailman exceptions."""
diff --git a/src/mailman/interfaces/member.py b/src/mailman/interfaces/member.py
index f084391e2..91c2aab0a 100644
--- a/src/mailman/interfaces/member.py
+++ b/src/mailman/interfaces/member.py
@@ -34,7 +34,7 @@ __all__ = [
from enum import Enum
-from mailman.core.errors import MailmanError
+from mailman.interfaces.errors import MailmanError
from zope.interface import Interface, Attribute
diff --git a/src/mailman/interfaces/mta.py b/src/mailman/interfaces/mta.py
index 5cf9c79c4..8c168c3a1 100644
--- a/src/mailman/interfaces/mta.py
+++ b/src/mailman/interfaces/mta.py
@@ -24,7 +24,7 @@ __all__ = [
]
-from mailman.core.errors import MailmanError
+from mailman.interfaces.errors import MailmanError
from zope.interface import Interface
diff --git a/src/mailman/interfaces/pipeline.py b/src/mailman/interfaces/pipeline.py
index b8830b003..5e39c2a3e 100644
--- a/src/mailman/interfaces/pipeline.py
+++ b/src/mailman/interfaces/pipeline.py
@@ -17,15 +17,41 @@
"""Interface for describing pipelines."""
-__all__ = [
- 'IPipeline',
- ]
+from mailman import public
+from zope.interface import Interface, Attribute
-from zope.interface import Interface, Attribute
+# For i18n extraction.
+def _(s):
+ return s
+
+
+# These are thrown but they aren't exceptions so don't inherit from
+# mailman.interfaces.errors.MailmanError. Python requires that they inherit
+# from BaseException.
+@public
+class DiscardMessage(BaseException):
+ """The message can be discarded with no further action"""
+
+ def __init__(self, message=None):
+ self.message = message
+
+ def __str__(self):
+ return self.message
+
+
+@public
+class RejectMessage(BaseException):
+ """The message will be bounced back to the sender"""
+
+ def __init__(self, message=None):
+ self.message = message
+
+ def __str__(self):
+ return self.message
-
+@public
class IPipeline(Interface):
"""A pipeline of handlers."""