def validate_moira_lists(lists):
"""
Raise a validation error if any of the moira lists in a list does not exist or is not a mailing list
Args:
lists(list of MoiraList): List of moira lists
Returns:
(list of MoiraList) List of moira lists
"""
bad_lists = []
moira_client = get_moira_client()
for mlist in lists:
if not moira_client.list_exists(mlist.name):
bad_lists.append(mlist.name)
else:
attributes = moira_client.client.service.getListAttributes(mlist.name, moira_client.proxy_id)
if not (attributes and attributes[0]['mailList']):
bad_lists.append(mlist.name)
if bad_lists:
raise serializers.ValidationError("Not found or not mailing list: {}".format(','.join(bad_lists)))
return lists
评论列表
文章目录