def create(ctx, name, sensors, elements): """Create a label. Creates a label with a given NAME and an (optional) list of sensors and elements associated with that label. """ client = ctx.find_object(Client) sensors = sensors or [] if sensors: all_sensors = Sensor.all(client) sensors = [ Sensor.lookup(client, id, resources=all_sensors) for id in sensors ] elements = elements or [] if elements: all_elements = Element.all(client) elements = [ Element.lookup(client, id, resources=all_elements) for id in elements ] label = Label.create(client, attributes={'name': name}) if sensors: label.update_sensors(sensors) if elements: label.update_elements(elements) label = Label.find(client, label.id, include=label_includes) Label.display(client, [label], include=label_includes)
def list(client, label, **kwargs): """List labels. Lists information for a given LABEL or all labels in the organization. """ if label: labels = [Label.lookup(client, label, include=label_includes)] else: metadata = kwargs.get('metadata') or None labels = Label.where(client, include=label_includes, metadata=metadata) Label.display(client, labels, include=label_includes)
def list(client, label, **kwargs): """List labels. Lists information for a given LABEL or all labels in the organization. """ include = [Sensor] if label: labels = [Label.lookup(client, label, include=include)] else: labels = Label.all(client, include=include) Label.display(client, labels, include=include)
def test_display_map(client, capsys): labels = Label.all(client, include=[Sensor]) assert len(labels) > 0 display_map = Label.display_map(client) assert display_map is not None label = labels[0] values = [f(label) for f in display_map.values()] assert values is not None Label.display(client, [label]) out, err = capsys.readouterr() assert label.short_id in out
def update(client, label, name): """Update a label. Changes basic attributes on a label. To add or remove sensors or elements from a label see the `label element` and `label sensor` commands. """ label = Label.lookup(client, label) if name: label.update(attributes={'name': name}) label = Label.find(client, label.id, include=label_includes) Label.display(client, [label], include=label_includes)
def update(client, label, name, **kwargs): label = Label.lookup(client, label) if name: label.update(name=name) all_sensors = Sensor.all(client) add_sensors = kwargs.pop('add', None) or [] remove_sensors = kwargs.pop('remove', None) or [] sensors = [Sensor.lookup(client, s, resources=all_sensors) for s in add_sensors] if sensors: label.add_sensors(sensors) sensors = [Sensor.lookup(client, s, resources=all_sensors) for s in remove_sensors] if sensors: label.remove_sensors(sensors) include = [Sensor] label = Label.find(client, label.id, include=include) Label.display(client, [label], include=include)