From 94e571b62689cfde2513dcfd15a821533c8b7de2 Mon Sep 17 00:00:00 2001 From: David Newhall II Date: Mon, 15 Apr 2019 02:26:19 -0700 Subject: [PATCH] Use []Site type --- .../inputunifi/cmd/unifi-poller/main.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/integrations/inputunifi/cmd/unifi-poller/main.go b/integrations/inputunifi/cmd/unifi-poller/main.go index 51c88a95..4d4b8f2c 100644 --- a/integrations/inputunifi/cmd/unifi-poller/main.go +++ b/integrations/inputunifi/cmd/unifi-poller/main.go @@ -125,21 +125,22 @@ func (c *Config) PollUnifiController(controller *unifi.Unifi, infdb influx.Clien // filterSites returns a list of sites to fetch data for. // Omits requested but unconfigured sites. -func filterSites(controller *unifi.Unifi, filter []string) ([]string, error) { +func filterSites(controller *unifi.Unifi, filter []string) ([]unifi.Site, error) { sites, err := controller.GetSites() if err != nil { - return filter, err + return []unifi.Site{{Name: "default", Desc: "DEFAULT"}}, err } else if len(filter) < 1 || StringInSlice("all", filter) { return sites, nil } - output := []string{} - for _, s := range filter { - // Do not return requested sites that are not configured. - if StringInSlice(s, sites) { - output = append(output, s) + var i int + for _, s := range sites { + // Only include valid sites in the request filter. + if StringInSlice(s.Name, filter) { + sites[i] = s + i++ } } - return output, nil + return sites[:i], nil } // batchPoints combines all device and client data into influxdb data points.