def to_vlan_ranges(vlans): if len(vlans) == 0: return "none" ranges = group_sequences(vlans, are_in_sequence=lambda a, b: a + 1 == b) return ",".join([to_range_string(r) for r in ranges])
def _build_port_strings(self, ports): port_range_list = group_sequences(ports, are_in_sequence=self._are_in_sequence) port_list = [] for port_range in port_range_list: first_details = self._get_interface_details(port_range[0].name) if len(port_range) == 1: port_list.append("Te{}{}".format(first_details.port_prefix, first_details.port)) else: port_list.append("Te{0}{1}-{2}".format(first_details.port_prefix, first_details.port, self._get_interface_details(port_range[-1].name).port)) return _assemble_elements_on_lines(port_list, max_line_char=13)
def _build_port_strings(self, ports): port_range_list = group_sequences(ports, are_in_sequence=self._are_in_sequence) port_list = [] for port_range in port_range_list: first_details = self._get_interface_details(port_range[0].name) if len(port_range) == 1: port_list.append("{}{}".format(first_details.port_prefix, first_details.port)) else: port_list.append("{0}{1}-{0}{2}".format(first_details.port_prefix, first_details.port, self._get_interface_details(port_range[-1].name).port)) return _assemble_elements_on_lines(port_list, max_line_char=13)
def to_port_ranges(ports): port_range_list = group_sequences(ports, are_in_sequence=lambda a, b: port_index(a) + 1 == port_index(b)) out = [] for port_range in port_range_list: if len(port_range) == 1: out.append("ethe %s" % split_port_name(port_range[0].name)[1]) else: out.append("ethe %s to %s" % (split_port_name(port_range[0].name)[1], split_port_name(port_range[-1].name)[1])) out_str = " ".join(out) return out_str
def test_group_sequences_empty(self): assert_that(group_sequences([], are_in_sequence=int_sequence), equal_to([]))
def test_group_sequences_some_values(self): assert_that( group_sequences([10, 11, 13, 14, 15, 22], are_in_sequence=int_sequence), equal_to([[10, 11], [13, 14, 15], [22]]))
def test_group_sequences_2_consecutive_values(self): assert_that(group_sequences([10, 11], are_in_sequence=int_sequence), equal_to([[10, 11]]))
def test_group_sequences_2_values_not_consecutive(self): assert_that(group_sequences([10, 15], are_in_sequence=int_sequence), equal_to([[10], [15]]))
def test_group_sequences_1_value(self): assert_that(group_sequences([10], are_in_sequence=int_sequence), equal_to([[10]]))
def test_group_sequences_some_values(self): assert_that(group_sequences([10, 11, 13, 14, 15, 22], are_in_sequence=int_sequence), equal_to([[10, 11], [13, 14, 15], [22]]))