nodes: 0, module; 1, function_definition; 2, function_name:get_users; 3, parameters; 4, block; 5, identifier:self; 6, identifier:course; 7, expression_statement; 8, expression_statement; 9, return_statement; 10, comment:""" Returns a sorted list of users """; 11, assignment; 12, identifier:users; 13, identifier:users; 14, call; 15, identifier:OrderedDict; 16, argument_list; 17, call; 18, identifier:sorted; 19, argument_list; 20, call; 21, keyword_argument; 22, identifier:list; 23, argument_list; 24, identifier:key; 25, lambda; 26, call; 27, lambda_parameters; 28, conditional_expression:k[1][0] if k[1] is not None else ""; 29, attribute; 30, argument_list; 31, identifier:k; 32, subscript; 33, comparison_operator:k[1] is not None; 34, string:""; 35, call; 36, identifier:items; 37, subscript; 38, integer:0; 39, subscript; 40, None; 41, attribute; 42, argument_list; 43, identifier:k; 44, integer:1; 45, identifier:k; 46, integer:1; 47, attribute; 48, identifier:get_users_info; 49, call; 50, identifier:self; 51, identifier:user_manager; 52, attribute; 53, argument_list; 54, attribute; 55, identifier:get_course_registered_users; 56, identifier:course; 57, identifier:self; 58, identifier:user_manager
code: def get_users(self, course):
          """ Returns a sorted list of users """
          users = OrderedDict(sorted(list(self.user_manager.get_users_info(self.user_manager.get_course_registered_users(course)).items()),
              key=lambda k: k[1][0] if k[1] is not None else ""))
          return users