def options_by_section(self):
sections = {}<EOL>for optname, optdict in self.options:<EOL><INDENT>sections.setdefault(optdict.get("<STR_LIT>"), []).append(<EOL>(optname, optdict, self.option_value(optname))<EOL>)<EOL><DEDENT>if None in sections:<EOL><INDENT>yield None, sections.pop(None)<EOL><DEDENT>for section, options in sorted(sections.items()):<EOL><INDENT>yield section.upper(), options<EOL><DEDENT>
return an iterator on options grouped by section

        (section, [list of (optname, optdict, optvalue)])