diff options
Diffstat (limited to 'src/mailman/interfaces/subscriptions.py')
| -rw-r--r-- | src/mailman/interfaces/subscriptions.py | 16 |
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.""" |
