def process_indigo_option_nodes()

in rst/options_node.py [0:0]


def process_indigo_option_nodes(app, doctree, fromdocname):
    env = app.builder.env

    for node in doctree.traverse(OptionsList):
        content = []
        #sorted_options = sorted(env.indigo_options, key=lambda o:o['name'])

        for op_group,s_options in groupby(env.indigo_options, key=lambda o:get_title(env.titles[o['docname']])):
            #group = nodes.title('', op_group)

            #print(op_group)
            #for opt_info in s_options:
            #    print(opt_info)
            #sorted_options = list(s_options)
            #print(str(sorted_options))


            #group.source = op_group
            #group.setText(op_group)
            #group=nodes.rubric('', op_group)
            #group.append(nodes.Text(op_group))
            #content.append(group)

            section_node = OptionInfo()
            options_name = op_group
            section_node['names'].append(options_name)
            section_node['ids'].append(options_name)

            titlenode = nodes.title('', options_name)
            section_node += titlenode

            tbody = create_options_table(section_node)

            content.append(section_node)

            for opt_info in s_options:
                row = nodes.row()
                tbody.append(row)

                # Create a reference
                newnode = nodes.reference('', '')
                innernode = nodes.Text(opt_info['name'], opt_info['name'])
                newnode['refdocname'] = opt_info['docname']
                newnode['refuri'] = app.builder.get_relative_uri(
                    fromdocname, opt_info['docname'])
                newnode['refuri'] += '#' + normalize_name(opt_info['name'])
                newnode['classes'].append('option')
                newnode.append(innernode)

                row += create_row_entry(newnode)
                row += create_row_entry_text(opt_info['type'])
                row += create_row_entry_text(opt_info['short'])
                row += create_row_entry_text(opt_info['default'])

        node.replace_self(content)