nodes: 0, module; 1, function_definition; 2, function_name:get_event_times; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, expression_statement; 8, expression_statement; 9, for_statement; 10, if_statement; 11, return_statement; 12, comment:"""
          Return event times of Fault, Breaker and other timed events
  
          Returns
          -------
          list
              A sorted list of event times
          """; 13, assignment; 14, call; 15, identifier:model; 16, attribute; 17, block; 18, identifier:times; 19, block; 20, identifier:times; 21, identifier:times; 22, list; 23, attribute; 24, argument_list; 25, subscript; 26, identifier:all_models; 27, expression_statement; 28, expression_statement; 29, identifier:times; 30, identifier:extend; 31, call; 32, attribute; 33, string; 34, call; 35, assignment; 36, attribute; 37, argument_list; 38, identifier:self; 39, identifier:__dict__; 40, string_content:Event; 41, attribute; 42, argument_list; 43, identifier:times; 44, call; 45, attribute; 46, identifier:get_times; 47, identifier:times; 48, identifier:extend; 49, call; 50, identifier:sorted; 51, argument_list; 52, identifier:self; 53, identifier:Breaker; 54, attribute; 55, argument_list; 56, call; 57, subscript; 58, identifier:get_times; 59, identifier:list; 60, argument_list; 61, attribute; 62, identifier:model; 63, call; 64, identifier:self; 65, identifier:__dict__; 66, identifier:set; 67, argument_list; 68, identifier:times
code: def get_event_times(self):
          """
          Return event times of Fault, Breaker and other timed events
  
          Returns
          -------
          list
              A sorted list of event times
          """
          times = []
  
          times.extend(self.Breaker.get_times())
  
          for model in self.__dict__['Event'].all_models:
              times.extend(self.__dict__[model].get_times())
  
          if times:
              times = sorted(list(set(times)))
  
          return times