def clear_constraint(self, juju_machine_id, key): md = self._machines[juju_machine_id] cd = constraints_to_dict(md.get('constraints', "")) if key in cd: del cd[key] md['constraints'] = constraints_from_dict(cd) return md
def build_widgets(self, title_widgets): if title_widgets is None: if len(self.constraints) > 0: cstr = " matching constraints '{}'".format( constraints_from_dict(self.constraints)) else: cstr = "" title_widgets = [Text("Machines" + cstr, align='center')] self.filter_edit_box = FilterBox(self.handle_filter_change) header_widgets = title_widgets + [Divider()] if self.show_filter_box: header_widgets += [self.filter_edit_box, Divider()] labels = ["FQDN", "Cores", "Memory (GiB)", "Storage (GiB)", ""] header_label_col = Columns([Text(m) for m in labels]) header_widgets.append(header_label_col) self.header_padding = len(header_widgets) self.machine_pile = Pile(header_widgets + self.machine_widgets) return self.machine_pile
def set_constraint(self, juju_machine_id, key, value): md = self._machines[juju_machine_id] cd = constraints_to_dict(md.get('constraints', "")) cd[key] = value md['constraints'] = constraints_from_dict(cd) return md