nodes: 0, module; 1, function_definition; 2, function_name:order_sections; 3, parameters; 4, block; 5, identifier:self; 6, identifier:key; 7, default_parameter; 8, expression_statement; 9, expression_statement; 10, return_statement; 11, identifier:reverse; 12, True; 13, comment:"""Sort sections according to the value of key."""; 14, assignment; 15, call; 16, identifier:fsort; 17, lambda; 18, identifier:sorted; 19, argument_list; 20, lambda_parameters; 21, subscript; 22, attribute; 23, keyword_argument; 24, keyword_argument; 25, identifier:s; 26, attribute; 27, identifier:key; 28, identifier:self; 29, identifier:sections; 30, identifier:key; 31, identifier:fsort; 32, identifier:reverse; 33, identifier:reverse; 34, identifier:s; 35, identifier:__dict__
code: def order_sections(self, key, reverse=True):
          """Sort sections according to the value of key."""
          fsort = lambda s: s.__dict__[key]
          return sorted(self.sections, key=fsort, reverse=reverse)