summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces
diff options
context:
space:
mode:
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."""