allow some auth methods to be async

- add_user
- add_system_user
- system_user_exists
- delete_user
This commit is contained in:
Min RK
2015-01-07 15:38:58 -08:00
parent 5a950ec021
commit d657d42c9a
2 changed files with 8 additions and 5 deletions

View File

@@ -84,6 +84,7 @@ class LocalAuthenticator(Authenticator):
"""
)
@gen.coroutine
def add_user(self, user):
"""Add a new user
@@ -92,13 +93,14 @@ class LocalAuthenticator(Authenticator):
Subclasses may do more extensive things,
such as adding actual unix users.
"""
if not self.system_user_exists(user):
user_exists = yield gen.maybe_future(self.system_user_exists(user))
if not user_exists:
if self.create_system_users:
self.add_system_user(user)
yield gen.maybe_future(self.add_system_user(user))
else:
raise KeyError("User %s does not exist." % user.name)
super(LocalAuthenticator, self).add_user(user)
yield gen.maybe_future(super().add_user(user))
@staticmethod
def system_user_exists(user):