def getContactGroups(self): """Returns a list of contact groups that can receive notifications This consists of the Administrators group and group that is a member of the Nagios Contacts group. """ groups = {} admin_group = getGroupID(self._session_id, AUTH_ADMINISTRATOR) nagios_group = getGroupID(self._session_id, NAGIOS_GROUP_NAME) if admin_group != -1: admins = getGroup(self._session_id, admin_group) admins["members"] = self.membersList(admin_group) groups[AUTH_ADMINISTRATOR] = admins # Loop through the members of the nagios group if nagios_group != -1: for member in getMembers(self._session_id, nagios_group): group_id = member["group_id"] if group_id == "" or group_id is None: continue group = getGroup(self._session_id, group_id) group["members"] = self.membersList(group_id) groups[group["group_name"]] = group return groups
def membersList(self, group_id): """Returns a list of usernames that are members of the group""" members = [] for member in getMembers(self._session_id, group_id): members.append(member["username"]) return members