def __init__ (self, mng): super(TrexTUIDashBoard, self).__init__(mng, "dashboard") self.ports = self.stateless_client.get_all_ports() self.key_actions = OrderedDict() self.key_actions['c'] = {'action': self.action_clear, 'legend': 'clear', 'show': True} self.key_actions['p'] = {'action': self.action_pause, 'legend': 'pause', 'show': True, 'color': 'red'} self.key_actions['r'] = {'action': self.action_resume, 'legend': 'resume', 'show': True, 'color': 'blue'} self.key_actions['o'] = {'action': self.action_show_owned, 'legend': 'owned ports', 'show': True} self.key_actions['n'] = {'action': self.action_reset_view, 'legend': 'reset view', 'show': True} self.key_actions['a'] = {'action': self.action_show_all, 'legend': 'all ports', 'show': True} # register all the ports to the toggle action for port_id in self.ports: self.key_actions[str(port_id)] = {'action': self.action_toggle_port(port_id), 'legend': 'port {0}'.format(port_id), 'show': False} self.toggle_filter = ToggleFilter(self.ports) if self.stateless_client.get_acquired_ports(): self.action_show_owned() else: self.action_show_all()
def __init__(self, mng): super(TrexTUIDashBoard, self).__init__(mng, "dashboard") self.ports = self.stateless_client.get_all_ports() self.key_actions = OrderedDict() self.key_actions["c"] = {"action": self.action_clear, "legend": "clear", "show": True} self.key_actions["p"] = {"action": self.action_pause, "legend": "pause", "show": True, "color": "red"} self.key_actions["r"] = {"action": self.action_resume, "legend": "resume", "show": True, "color": "blue"} self.key_actions["o"] = {"action": self.action_show_owned, "legend": "owned ports", "show": True} self.key_actions["n"] = {"action": self.action_reset_view, "legend": "reset view", "show": True} self.key_actions["a"] = {"action": self.action_show_all, "legend": "all ports", "show": True} # register all the ports to the toggle action for port_id in self.ports: self.key_actions[str(port_id)] = { "action": self.action_toggle_port(port_id), "legend": "port {0}".format(port_id), "show": False, } self.toggle_filter = ToggleFilter(self.ports) if self.stateless_client.get_acquired_ports(): self.action_show_owned() else: self.action_show_all()
class TrexTUIDashBoard(TrexTUIPanel): FILTER_ACQUIRED = 1 FILTER_ALL = 2 def __init__(self, mng): super(TrexTUIDashBoard, self).__init__(mng, "dashboard") self.ports = self.stateless_client.get_all_ports() self.key_actions = OrderedDict() self.key_actions['c'] = { 'action': self.action_clear, 'legend': 'clear', 'show': True } self.key_actions['p'] = { 'action': self.action_pause, 'legend': 'pause', 'show': True, 'color': 'red' } self.key_actions['r'] = { 'action': self.action_resume, 'legend': 'resume', 'show': True, 'color': 'blue' } self.key_actions['o'] = { 'action': self.action_show_owned, 'legend': 'owned ports', 'show': True } self.key_actions['n'] = { 'action': self.action_reset_view, 'legend': 'reset view', 'show': True } self.key_actions['a'] = { 'action': self.action_show_all, 'legend': 'all ports', 'show': True } # register all the ports to the toggle action for port_id in self.ports: self.key_actions[str(port_id)] = { 'action': self.action_toggle_port(port_id), 'legend': 'port {0}'.format(port_id), 'show': False } self.toggle_filter = ToggleFilter(self.ports) if self.stateless_client.get_acquired_ports(): self.action_show_owned() else: self.action_show_all() def get_showed_ports(self): return self.toggle_filter.filter_items() def show(self, buffer): stats = self.stateless_client._get_formatted_stats( self.get_showed_ports()) # print stats to screen for stat_type, stat_data in stats.items(): text_tables.print_table_with_header(stat_data.text_table, stat_type, buffer=buffer) def get_key_actions(self): allowed = OrderedDict() allowed['n'] = self.key_actions['n'] allowed['o'] = self.key_actions['o'] allowed['a'] = self.key_actions['a'] for i in self.ports: allowed[str(i)] = self.key_actions[str(i)] if self.get_showed_ports(): allowed['c'] = self.key_actions['c'] # if not all ports are acquired - no operations if not (set(self.get_showed_ports()) <= set( self.stateless_client.get_acquired_ports())): return allowed # if any/some ports can be resumed if set(self.get_showed_ports()) & set( self.stateless_client.get_paused_ports()): allowed['r'] = self.key_actions['r'] # if any/some ports are transmitting - support those actions if set(self.get_showed_ports()) & set( self.stateless_client.get_transmitting_ports()): allowed['p'] = self.key_actions['p'] return allowed ######### actions def action_pause(self): try: rc = self.stateless_client.pause(ports=self.get_showed_ports()) except STLError: pass return "" def action_resume(self): try: self.stateless_client.resume(ports=self.get_showed_ports()) except STLError: pass return "" def action_reset_view(self): self.toggle_filter.reset() return "" def action_show_owned(self): self.toggle_filter.reset() self.toggle_filter.toggle_items( *self.stateless_client.get_acquired_ports()) return "" def action_show_all(self): self.toggle_filter.reset() self.toggle_filter.toggle_items(*self.stateless_client.get_all_ports()) return "" def action_clear(self): self.stateless_client.clear_stats(self.toggle_filter.filter_items()) return "cleared all stats" def action_toggle_port(self, port_id): def action_toggle_port_x(): self.toggle_filter.toggle_item(port_id) return "" return action_toggle_port_x
class TrexTUIDashBoard(TrexTUIPanel): FILTER_ACQUIRED = 1 FILTER_ALL = 2 def __init__ (self, mng): super(TrexTUIDashBoard, self).__init__(mng, "dashboard") self.ports = self.stateless_client.get_all_ports() self.key_actions = OrderedDict() self.key_actions['c'] = {'action': self.action_clear, 'legend': 'clear', 'show': True} self.key_actions['p'] = {'action': self.action_pause, 'legend': 'pause', 'show': True, 'color': 'red'} self.key_actions['r'] = {'action': self.action_resume, 'legend': 'resume', 'show': True, 'color': 'blue'} self.key_actions['o'] = {'action': self.action_show_owned, 'legend': 'owned ports', 'show': True} self.key_actions['n'] = {'action': self.action_reset_view, 'legend': 'reset view', 'show': True} self.key_actions['a'] = {'action': self.action_show_all, 'legend': 'all ports', 'show': True} # register all the ports to the toggle action for port_id in self.ports: self.key_actions[str(port_id)] = {'action': self.action_toggle_port(port_id), 'legend': 'port {0}'.format(port_id), 'show': False} self.toggle_filter = ToggleFilter(self.ports) if self.stateless_client.get_acquired_ports(): self.action_show_owned() else: self.action_show_all() def get_showed_ports (self): return self.toggle_filter.filter_items() def show (self, buffer): stats = self.stateless_client._get_formatted_stats(self.get_showed_ports()) # print stats to screen for stat_type, stat_data in stats.items(): text_tables.print_table_with_header(stat_data.text_table, stat_type, buffer = buffer) def get_key_actions (self): allowed = OrderedDict() allowed['n'] = self.key_actions['n'] allowed['o'] = self.key_actions['o'] allowed['a'] = self.key_actions['a'] for i in self.ports: allowed[str(i)] = self.key_actions[str(i)] if self.get_showed_ports(): allowed['c'] = self.key_actions['c'] # if not all ports are acquired - no operations if not (set(self.get_showed_ports()) <= set(self.stateless_client.get_acquired_ports())): return allowed # if any/some ports can be resumed if set(self.get_showed_ports()) & set(self.stateless_client.get_paused_ports()): allowed['r'] = self.key_actions['r'] # if any/some ports are transmitting - support those actions if set(self.get_showed_ports()) & set(self.stateless_client.get_transmitting_ports()): allowed['p'] = self.key_actions['p'] return allowed ######### actions def action_pause (self): try: rc = self.stateless_client.pause(ports = self.get_showed_ports()) except STLError: pass return "" def action_resume (self): try: self.stateless_client.resume(ports = self.get_showed_ports()) except STLError: pass return "" def action_reset_view (self): self.toggle_filter.reset() return "" def action_show_owned (self): self.toggle_filter.reset() self.toggle_filter.toggle_items(*self.stateless_client.get_acquired_ports()) return "" def action_show_all (self): self.toggle_filter.reset() self.toggle_filter.toggle_items(*self.stateless_client.get_all_ports()) return "" def action_clear (self): self.stateless_client.clear_stats(self.toggle_filter.filter_items()) return "cleared all stats" def action_toggle_port(self, port_id): def action_toggle_port_x(): self.toggle_filter.toggle_item(port_id) return "" return action_toggle_port_x
class TrexTUIDashBoard(TrexTUIPanel): FILTER_ACQUIRED = 1 FILTER_ALL = 2 def __init__(self, mng): super(TrexTUIDashBoard, self).__init__(mng, "dashboard") self.ports = self.stateless_client.get_all_ports() self.key_actions = OrderedDict() self.key_actions["c"] = {"action": self.action_clear, "legend": "clear", "show": True} self.key_actions["p"] = {"action": self.action_pause, "legend": "pause", "show": True, "color": "red"} self.key_actions["r"] = {"action": self.action_resume, "legend": "resume", "show": True, "color": "blue"} self.key_actions["o"] = {"action": self.action_show_owned, "legend": "owned ports", "show": True} self.key_actions["n"] = {"action": self.action_reset_view, "legend": "reset view", "show": True} self.key_actions["a"] = {"action": self.action_show_all, "legend": "all ports", "show": True} # register all the ports to the toggle action for port_id in self.ports: self.key_actions[str(port_id)] = { "action": self.action_toggle_port(port_id), "legend": "port {0}".format(port_id), "show": False, } self.toggle_filter = ToggleFilter(self.ports) if self.stateless_client.get_acquired_ports(): self.action_show_owned() else: self.action_show_all() def get_showed_ports(self): return self.toggle_filter.filter_items() def show(self, buffer): stats = self.stateless_client._get_formatted_stats(self.get_showed_ports()) # print stats to screen for stat_type, stat_data in stats.items(): text_tables.print_table_with_header(stat_data.text_table, stat_type, buffer=buffer) def get_key_actions(self): allowed = OrderedDict() allowed["n"] = self.key_actions["n"] allowed["o"] = self.key_actions["o"] allowed["a"] = self.key_actions["a"] for i in self.ports: allowed[str(i)] = self.key_actions[str(i)] if self.get_showed_ports(): allowed["c"] = self.key_actions["c"] # if not all ports are acquired - no operations if not (set(self.get_showed_ports()) <= set(self.stateless_client.get_acquired_ports())): return allowed # if any/some ports can be resumed if set(self.get_showed_ports()) & set(self.stateless_client.get_paused_ports()): allowed["r"] = self.key_actions["r"] # if any/some ports are transmitting - support those actions if set(self.get_showed_ports()) & set(self.stateless_client.get_transmitting_ports()): allowed["p"] = self.key_actions["p"] return allowed ######### actions def action_pause(self): try: rc = self.stateless_client.pause(ports=self.get_showed_ports()) except STLError: pass return "" def action_resume(self): try: self.stateless_client.resume(ports=self.get_showed_ports()) except STLError: pass return "" def action_reset_view(self): self.toggle_filter.reset() return "" def action_show_owned(self): self.toggle_filter.reset() self.toggle_filter.toggle_items(*self.stateless_client.get_acquired_ports()) return "" def action_show_all(self): self.toggle_filter.reset() self.toggle_filter.toggle_items(*self.stateless_client.get_all_ports()) return "" def action_clear(self): self.stateless_client.clear_stats(self.toggle_filter.filter_items()) return "cleared all stats" def action_toggle_port(self, port_id): def action_toggle_port_x(): self.toggle_filter.toggle_item(port_id) return "" return action_toggle_port_x