Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions lib/SampleService/core/samples.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,19 +217,8 @@ def replace_sample_acls(
_not_falsy(id_, 'id_')
_not_falsy(user, 'user')
_not_falsy(new_acls, 'new_acls')
try:
bad_users = self._user_lookup.invalid_users(
_cast(List[UserID], []) + list(new_acls.admin) +
list(new_acls.write) + list(new_acls.read))
# let authentication errors propagate, not much to do
# could add retries to the client
except _user_lookup_mod.InvalidUserError as e:
raise _NoSuchUserError(e.args[0]) from e
except _user_lookup_mod.InvalidTokenError:
raise ValueError('user lookup token for KBase auth server is invalid, cannot continue')
if bad_users:
raise _NoSuchUserError(', '.join([u.id for u in bad_users[:5]]))

self._check_for_bad_users(_cast(List[UserID], []) + list(new_acls.admin) +
list(new_acls.write) + list(new_acls.read))
count = 0
while count >= 0:
if count >= 5:
Expand All @@ -253,6 +242,18 @@ def replace_sample_acls(

# TODO change owner. Probably needs a request/accept flow.

def _check_for_bad_users(self, users: List[UserID]):
try:
bad_users = self._user_lookup.invalid_users(users)
# let authentication errors propagate, not much to do
# could add retries to the client
except _user_lookup_mod.InvalidUserError as e:
raise _NoSuchUserError(e.args[0]) from e
except _user_lookup_mod.InvalidTokenError:
raise ValueError('user lookup token for KBase auth server is invalid, cannot continue')
if bad_users:
raise _NoSuchUserError(', '.join([u.id for u in bad_users[:5]]))

def get_key_static_metadata(
self,
keys: List[str],
Expand Down