def refresh(self): interval = super(BlippConfigure, self).refresh() if interval != int(self.config['properties']['configurations']['unis_poll_interval']): return interval # unis.get returns a list of config if isinstance(self.config, list): self.config = self.config[0] self.initial_probes = self._strip_probes(self.config) if self.initial_probes: self._post_probes() self.unis.put("/services/" + self.config["id"], data=self.config) qmeas = self.unis.get("/measurements?service=" + self.config["selfRef"]) if qmeas: self.measurements = qmeas self.measurements = get_most_recent(self.measurements) for m in self.measurements: size_orig = len(m["configuration"]) merge_into(m["configuration"], self.probe_defaults) if size_orig < len(m["configuration"]): self.unis.put("/measurements/"+m["id"], m) r = self.unis.get("/measurements/"+m["id"]) m['ts'] = r['ts'] else: ''' If measurements don't exist then create them again - i.e register them again ''' self.measurements = get_most_recent(self.measurements) for m in self.measurements: self.unis.post("/measurements/", m) return interval
def refresh(self): super(BlippConfigure, self).refresh() self.initial_probes = self._strip_probes(self.config) if self.initial_probes: self._post_probes() self.unis.put("/services/" + self.config["id"], data=self.config) qmeas = self.unis.get("/measurements?service=" + self.config["selfRef"]) if qmeas: self.measurements = qmeas self.measurements = get_most_recent(self.measurements) for m in self.measurements: size_orig = len(m["configuration"]) merge_into(m["configuration"], self.probe_defaults) if size_orig < len(m["configuration"]): self.unis.put("/measurements/"+m["id"], m)
def _strip_probes(self, initial_config): probes = {} try: probes = initial_config["properties"]["configurations"]["probes"] del initial_config["properties"]["configurations"]["probes"] except Exception: pass try: probe_defaults = initial_config["properties"]["configurations"]["probe_defaults"] self.probe_defaults = probe_defaults except Exception: pass if probes: for probe in probes.values(): merge_into(probe, self.probe_defaults) return probes