summaryrefslogtreecommitdiff
path: root/mailman/interfaces/registrar.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-01-25 13:01:41 -0500
committerBarry Warsaw2009-01-25 13:01:41 -0500
commiteefd06f1b88b8ecbb23a9013cd223b72ca85c20d (patch)
tree72c947fe16fce0e07e996ee74020b26585d7e846 /mailman/interfaces/registrar.py
parent07871212f74498abd56bef3919bf3e029eb8b930 (diff)
downloadmailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.tar.gz
mailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.tar.zst
mailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.zip
Diffstat (limited to 'mailman/interfaces/registrar.py')
-rw-r--r--mailman/interfaces/registrar.py83
1 files changed, 0 insertions, 83 deletions
diff --git a/mailman/interfaces/registrar.py b/mailman/interfaces/registrar.py
deleted file mode 100644
index d90966e2d..000000000
--- a/mailman/interfaces/registrar.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (C) 2007-2009 by the Free Software Foundation, Inc.
-#
-# This file is part of GNU Mailman.
-#
-# GNU Mailman is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
-
-"""Interface describing a user registration service.
-
-This is a higher level interface to user registration, address confirmation,
-etc. than the IUserManager. The latter does no validation, syntax checking,
-or confirmation, while this interface does.
-"""
-
-from __future__ import absolute_import, unicode_literals
-
-__metaclass__ = type
-__all__ = [
- 'IRegistrar',
- ]
-
-
-from zope.interface import Interface
-
-
-
-class IRegistrar(Interface):
- """Interface for registering and verifying addresses and users.
-
- This is a higher level interface to user registration, address
- confirmation, etc. than the IUserManager. The latter does no validation,
- syntax checking, or confirmation, while this interface does.
- """
-
- def register(address, real_name=None, mlist=None):
- """Register the email address, requesting verification.
-
- No IAddress or IUser is created during this step, but after successful
- confirmation, it is guaranteed that an IAddress with a linked IUser
- will exist. When a verified IAddress matching address already exists,
- this method will do nothing, except link a new IUser to the IAddress
- if one is not yet associated with the address.
-
- In all cases, the email address is sanity checked for validity first.
-
- :param address: The textual email address to register.
- :param real_name: The optional real name of the user.
- :return: The confirmation token string.
- :raises InvalidEmailAddress: if the address is not allowed.
- """
-
- def confirm(token):
- """Confirm the pending registration matched to the given `token`.
-
- Confirmation ensures that the IAddress exists and is linked to an
- IUser, with the latter being created and linked if necessary.
-
- :param token: A token matching a pending event with a type of
- 'registration'.
- :return: Boolean indicating whether the confirmation succeeded or
- not. It may fail if the token is no longer in the database, or if
- the token did not match a registration event.
- """
-
- def discard(token):
- """Discard the pending registration matched to the given `token`.
-
- The event record is discarded and the IAddress is not verified. No
- IUser is created.
-
- :param token: A token matching a pending event with a type of
- 'registration'.
- """