def get_disallowed_meetings(users, prev_meeting_tuples, spec):
"""Returns set of matches that are not allowed
Returns:
Set of tuples
"""
# don't match users with previous meetings
pairs = prev_meeting_tuples
userids = sorted([user.key.id() for user in users])
id_to_user = {user.key.id(): user for user in users}
all_pairs = {pair for pair in itertools.combinations(userids, 2)}
for rule in spec.meeting_subscription.get().dept_rules:
rule = rule.get()
pairs = pairs.union({pair for pair in all_pairs if is_same(rule.name, pair, id_to_user)})
return pairs
评论列表
文章目录