Previous - Up - Next

7.4   Info And Status Commands

To simplify the creation of info and status commands, there are a couple of helper functions that make it easy to add these commands and have the output formatted in a standard fashion. Instead of calling new_command directly, you call new_info_command and new_status_command. The functions you provide to these functions should not print anything directly, instead they should return the information to be printed.

7.4.1   Example

import sim_commands

def get_info(obj):
    return [("Connections",
             [("Up",   obj.up),
              ("Down", obj.down)]),
            ("Sizes",
             [("Width",  obj.width),
              ("Height", obj.height),
              ("Area",   obj.width * obj.height)])]

sim_commands.new_info_command('sample-device', get_info)

def get_sample_status(obj):
    return [(None,
             [("Attribute 'value'", obj.value)])]

sim_commands.new_status_command('sample-device', get_status)

7.4.2   Information Structure

The data returned from the functions should be a list of sections, where each section is a tuple of a section title and a list of entries. The section title should be a string or None. An entry is a tuple of a name and a value. The name is a string, and the value can be just about anything.

Previous - Up - Next