def runner(self, sim_time): # Check for buses creation for route in self.routes_list: # Check if we need to create a new bus if (route.last_bus_time + route.frequency) <= (sim_time - route.time_offset): bus = Bus(self.bus_count, route) self.bus_count += 1 route.last_bus_time = sim_time - route.time_offset self.buses_list.append(bus) logging.info("Bus %d created with route %s", bus.number, bus.route.name) # Run the bus runner for each bus for bus in self.buses_list: bus.runner(self.stops_list, sim_time) if bus.is_finished(): self.finished_buses_list.append(bus) self.buses_list.remove(bus)