summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/subscriptions.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-03-21 21:32:12 -0400
committerBarry Warsaw2015-03-21 21:32:12 -0400
commit783163c4e7eda6d5983bcca512db645c64dad349 (patch)
treeae0a79ac7d8b80ad4cc5a54f003ea61d3e01f3d0 /src/mailman/interfaces/subscriptions.py
parent18b7980823d2f9d5b7b0f50596cc05e8efb845e8 (diff)
downloadmailman-783163c4e7eda6d5983bcca512db645c64dad349.tar.gz
mailman-783163c4e7eda6d5983bcca512db645c64dad349.tar.zst
mailman-783163c4e7eda6d5983bcca512db645c64dad349.zip
Diffstat (limited to 'src/mailman/interfaces/subscriptions.py')
-rw-r--r--src/mailman/interfaces/subscriptions.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mailman/interfaces/subscriptions.py b/src/mailman/interfaces/subscriptions.py
index c72a902cb..677f591ef 100644
--- a/src/mailman/interfaces/subscriptions.py
+++ b/src/mailman/interfaces/subscriptions.py
@@ -19,9 +19,12 @@
__all__ = [
'ISubscriptionService',
+ 'RequestRecord',
]
+from collections import namedtuple
+
from mailman.interfaces.errors import MailmanError
from mailman.interfaces.member import DeliveryMode, MemberRole
from zope.interface import Interface
@@ -40,6 +43,19 @@ class MissingUserError(MailmanError):
+_RequestRecord = namedtuple(
+ 'RequestRecord',
+ 'email display_name delivery_mode, language')
+def RequestRecord(email, display_name='',
+ delivery_mode=DeliveryMode.regular,
+ language=None):
+ if language is None:
+ from mailman.core.constants import system_preferences
+ language = system_preferences.preferred_language
+ return _RequestRecord(email, display_name, delivery_mode, language)
+
+
+
class ISubscriptionService(Interface):
"""General Subscription services."""