Skip to content

Commit 91b7ab9

Browse files
Update Dialer interface mappings (#678)
update doc string and mypy to get tests working Co-authored-by: Dmitry Babkin <[email protected]>
1 parent 2c1ad03 commit 91b7ab9

File tree

3 files changed

+77
-74
lines changed

3 files changed

+77
-74
lines changed

netutils/config/parser.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,7 +1771,7 @@ class NvidiaOnyxConfigParser(BaseConfigParser): # pylint: disable=abstract-meth
17711771
comment_char = "#"
17721772
section_char = "##"
17731773

1774-
def __init__(self, config: str):
1774+
def __init__(self, config: str): # pylint: disable=super-init-not-called
17751775
"""Create ConfigParser Object.
17761776
17771777
Args:
@@ -1780,11 +1780,11 @@ def __init__(self, config: str):
17801780
self.config = config
17811781
self._config: t.Optional[str] = None
17821782
self._current_parents: t.Tuple[str, ...] = ()
1783-
self.generator_config = tuple(self._config_lines_only())
1783+
self.generator_config = (line for line in (self._config_lines_only()))
17841784
self.config_lines: t.List[ConfigLine] = []
17851785
self.build_config_relationship()
17861786

1787-
def _config_lines_only(self) -> [str]:
1787+
def _config_lines_only(self) -> t.List[str]:
17881788
"""Remove spaces and unwanted lines from config lines.
17891789
17901790
Returns:
@@ -1796,12 +1796,12 @@ def _config_lines_only(self) -> [str]:
17961796
if line.startswith(self.section_char):
17971797
continue
17981798
stripped = line.strip()
1799-
if re.match(r'banner \w+ (?!\".+\")', stripped):
1799+
if re.match(r"banner \w+ (?!\".+\")", stripped):
18001800
banner_text += line.lstrip()
18011801
elif banner_text and not stripped.endswith('"'):
1802-
banner_text += '\n' + line
1802+
banner_text += "\n" + line
18031803
elif banner_text and stripped.endswith('"'):
1804-
banner_text += '\n' + line
1804+
banner_text += "\n" + line
18051805
config_lines.append(banner_text)
18061806
banner_text = ""
18071807
elif stripped:
@@ -1843,7 +1843,7 @@ def build_config_relationship(self) -> t.List[ConfigLine]:
18431843
... ConfigLine(config_line='vlan 1', parents=()),
18441844
... ConfigLine(config_line='vlan 2', parents=()),
18451845
... ConfigLine(config_line='vlan 3', parents=()),
1846-
... ConfigLine(config_line='banner login "\n\nMULTILINE BANNER"', parents=()),
1846+
... ConfigLine(config_line='banner login "\n\n MULTILINE BANNER"', parents=()),
18471847
... ]
18481848
True
18491849
"""

netutils/constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"Bv": "BVI",
1717
"Bvi": "BVI",
1818
"Bridge-Aggregation": "Port-channel",
19+
"Dialer": "Dialer",
20+
"Di": "Dialer",
1921
"EOBC": "EOBC",
2022
"EO": "EOBC",
2123
"Ethernet": "Ethernet",
@@ -176,6 +178,7 @@
176178
"AppGigabitEthernet": "Ap",
177179
"ATM": "At",
178180
"BVI": "Bv",
181+
"Dialer": "Di",
179182
"EOBC": "EO",
180183
"Ethernet": "Et",
181184
"FastEthernet": "Fa",
Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
11
from netutils.config.parser import ConfigLine
22

33
data = [
4-
ConfigLine(config_line='no cli default prefix-modes enable', parents=()),
5-
ConfigLine(config_line='protocol mlag', parents=()),
6-
ConfigLine(config_line='interface ethernet 1/1 shutdown', parents=()),
7-
ConfigLine(config_line='interface ethernet 1/2 shutdown', parents=()),
8-
ConfigLine(config_line='interface ethernet 1/3 shutdown', parents=()),
9-
ConfigLine(config_line='interface ethernet 1/4 shutdown', parents=()),
10-
ConfigLine(config_line='interface ethernet 1/5 shutdown', parents=()),
11-
ConfigLine(config_line='interface ethernet 1/6 shutdown', parents=()),
12-
ConfigLine(config_line='interface ethernet 1/7 shutdown', parents=()),
13-
ConfigLine(config_line='interface ethernet 1/8 shutdown', parents=()),
14-
ConfigLine(config_line='interface ethernet 1/9 shutdown', parents=()),
15-
ConfigLine(config_line='interface ethernet 1/10 shutdown', parents=()),
16-
ConfigLine(config_line='interface ethernet 1/11 shutdown', parents=()),
17-
ConfigLine(config_line='interface ethernet 1/12 shutdown', parents=()),
18-
ConfigLine(config_line='interface ethernet 1/13 shutdown', parents=()),
19-
ConfigLine(config_line='interface ethernet 1/14 shutdown', parents=()),
20-
ConfigLine(config_line='interface ethernet 1/15 shutdown', parents=()),
21-
ConfigLine(config_line='interface ethernet 1/16 shutdown', parents=()),
22-
ConfigLine(config_line='lacp', parents=()),
23-
ConfigLine(config_line='vlan 1', parents=()),
24-
ConfigLine(config_line='vlan 2', parents=()),
25-
ConfigLine(config_line='vlan 3', parents=()),
26-
ConfigLine(config_line='vlan 100', parents=()),
4+
ConfigLine(config_line="no cli default prefix-modes enable", parents=()),
5+
ConfigLine(config_line="protocol mlag", parents=()),
6+
ConfigLine(config_line="interface ethernet 1/1 shutdown", parents=()),
7+
ConfigLine(config_line="interface ethernet 1/2 shutdown", parents=()),
8+
ConfigLine(config_line="interface ethernet 1/3 shutdown", parents=()),
9+
ConfigLine(config_line="interface ethernet 1/4 shutdown", parents=()),
10+
ConfigLine(config_line="interface ethernet 1/5 shutdown", parents=()),
11+
ConfigLine(config_line="interface ethernet 1/6 shutdown", parents=()),
12+
ConfigLine(config_line="interface ethernet 1/7 shutdown", parents=()),
13+
ConfigLine(config_line="interface ethernet 1/8 shutdown", parents=()),
14+
ConfigLine(config_line="interface ethernet 1/9 shutdown", parents=()),
15+
ConfigLine(config_line="interface ethernet 1/10 shutdown", parents=()),
16+
ConfigLine(config_line="interface ethernet 1/11 shutdown", parents=()),
17+
ConfigLine(config_line="interface ethernet 1/12 shutdown", parents=()),
18+
ConfigLine(config_line="interface ethernet 1/13 shutdown", parents=()),
19+
ConfigLine(config_line="interface ethernet 1/14 shutdown", parents=()),
20+
ConfigLine(config_line="interface ethernet 1/15 shutdown", parents=()),
21+
ConfigLine(config_line="interface ethernet 1/16 shutdown", parents=()),
22+
ConfigLine(config_line="lacp", parents=()),
23+
ConfigLine(config_line="vlan 1", parents=()),
24+
ConfigLine(config_line="vlan 2", parents=()),
25+
ConfigLine(config_line="vlan 3", parents=()),
26+
ConfigLine(config_line="vlan 100", parents=()),
2727
ConfigLine(config_line='vlan 1 name "DEFUALT"', parents=()),
2828
ConfigLine(config_line='vlan 2 name "VLAN2"', parents=()),
2929
ConfigLine(config_line='vlan 3 name "VLAN3"', parents=()),
3030
ConfigLine(config_line='vlan 100 name "VLAN 100"', parents=()),
31-
ConfigLine(config_line='no spanning-tree', parents=()),
32-
ConfigLine(config_line='ip routing vrf default', parents=()),
33-
ConfigLine(config_line='dcb priority-flow-control enable force', parents=()),
34-
ConfigLine(config_line='interface port-channel 1 dcb priority-flow-control mode on force', parents=()),
35-
ConfigLine(config_line='protocol telemetry', parents=()),
36-
ConfigLine(config_line='no mlag shutdown', parents=()),
37-
ConfigLine(config_line='no interface mgmt0 dhcp', parents=()),
38-
ConfigLine(config_line='interface mgmt0 ip address 192.168.0.2 /24', parents=()),
39-
ConfigLine(config_line='interface mgmt1 shutdown', parents=()),
40-
ConfigLine(config_line='no interface mgmt0 ipv6 dhcp client enable', parents=()),
41-
ConfigLine(config_line='ip name-server vrf vrf-default 192.168.0.254', parents=()),
42-
ConfigLine(config_line='ip name-server vrf vrf-default 192.168.0.253', parents=()),
43-
ConfigLine(config_line='hostname HOSTNAME', parents=()),
44-
ConfigLine(config_line='ip route vrf default 0.0.0.0/0 192.168.0.1', parents=()),
45-
ConfigLine(config_line='no ipv6 enable', parents=()),
46-
ConfigLine(config_line='logging events interfaces enable', parents=()),
47-
ConfigLine(config_line='logging events interfaces interval 30', parents=()),
48-
ConfigLine(config_line='logging format welf', parents=()),
49-
ConfigLine(config_line='logging vrf default 192.168.0.254', parents=()),
50-
ConfigLine(config_line='logging vrf default 192.168.0.254 trap info', parents=()),
51-
ConfigLine(config_line='username localaccount', parents=()),
52-
ConfigLine(config_line='ldap base-dn DC=example,DC=org', parents=()),
53-
ConfigLine(config_line='ldap bind-dn CN=onyxauth,DC=example,DC=org', parents=()),
54-
ConfigLine(config_line='aaa authentication login default ldap local', parents=()),
55-
ConfigLine(config_line='aaa authorization map order remote-only', parents=()),
56-
ConfigLine(config_line='no password hardening enable', parents=()),
57-
ConfigLine(config_line='snmp-server community public ro', parents=()),
58-
ConfigLine(config_line='snmp-server vrf default enable', parents=()),
59-
ConfigLine(config_line='stats sample telemetry enable', parents=()),
31+
ConfigLine(config_line="no spanning-tree", parents=()),
32+
ConfigLine(config_line="ip routing vrf default", parents=()),
33+
ConfigLine(config_line="dcb priority-flow-control enable force", parents=()),
34+
ConfigLine(config_line="interface port-channel 1 dcb priority-flow-control mode on force", parents=()),
35+
ConfigLine(config_line="protocol telemetry", parents=()),
36+
ConfigLine(config_line="no mlag shutdown", parents=()),
37+
ConfigLine(config_line="no interface mgmt0 dhcp", parents=()),
38+
ConfigLine(config_line="interface mgmt0 ip address 192.168.0.2 /24", parents=()),
39+
ConfigLine(config_line="interface mgmt1 shutdown", parents=()),
40+
ConfigLine(config_line="no interface mgmt0 ipv6 dhcp client enable", parents=()),
41+
ConfigLine(config_line="ip name-server vrf vrf-default 192.168.0.254", parents=()),
42+
ConfigLine(config_line="ip name-server vrf vrf-default 192.168.0.253", parents=()),
43+
ConfigLine(config_line="hostname HOSTNAME", parents=()),
44+
ConfigLine(config_line="ip route vrf default 0.0.0.0/0 192.168.0.1", parents=()),
45+
ConfigLine(config_line="no ipv6 enable", parents=()),
46+
ConfigLine(config_line="logging events interfaces enable", parents=()),
47+
ConfigLine(config_line="logging events interfaces interval 30", parents=()),
48+
ConfigLine(config_line="logging format welf", parents=()),
49+
ConfigLine(config_line="logging vrf default 192.168.0.254", parents=()),
50+
ConfigLine(config_line="logging vrf default 192.168.0.254 trap info", parents=()),
51+
ConfigLine(config_line="username localaccount", parents=()),
52+
ConfigLine(config_line="ldap base-dn DC=example,DC=org", parents=()),
53+
ConfigLine(config_line="ldap bind-dn CN=onyxauth,DC=example,DC=org", parents=()),
54+
ConfigLine(config_line="aaa authentication login default ldap local", parents=()),
55+
ConfigLine(config_line="aaa authorization map order remote-only", parents=()),
56+
ConfigLine(config_line="no password hardening enable", parents=()),
57+
ConfigLine(config_line="snmp-server community public ro", parents=()),
58+
ConfigLine(config_line="snmp-server vrf default enable", parents=()),
59+
ConfigLine(config_line="stats sample telemetry enable", parents=()),
6060
ConfigLine(config_line='banner login "\n\nMULTI LINE BANNER"', parents=()),
6161
ConfigLine(config_line='banner motd "SINGLE LINE BANNER"', parents=()),
62-
ConfigLine(config_line='clock timezone Europe Western Madrid', parents=()),
63-
ConfigLine(config_line='json-gw synchronous-request-timeout 50', parents=()),
64-
ConfigLine(config_line='no ntp server 192.168.0.254 disable', parents=()),
65-
ConfigLine(config_line='ntp server 192.168.0.254 keyID 0', parents=()),
66-
ConfigLine(config_line='ntp vrf default enable', parents=()),
67-
ConfigLine(config_line='stats chd telemetry enable', parents=()),
68-
ConfigLine(config_line='terminal sysrq enable', parents=()),
69-
ConfigLine(config_line='no web client cert-verify', parents=()),
70-
ConfigLine(config_line='web vrf default enable', parents=()),
71-
ConfigLine(config_line='no ip filter chain forward rule all', parents=()),
72-
ConfigLine(config_line='no ip filter chain input rule all', parents=()),
73-
ConfigLine(config_line='no ip filter chain logging rule all', parents=()),
74-
ConfigLine(config_line='no ip filter chain output rule all', parents=()),
75-
ConfigLine(config_line='no ip filter enable', parents=()),
76-
ConfigLine(config_line='ssh server login timeout 300', parents=()),
62+
ConfigLine(config_line="clock timezone Europe Western Madrid", parents=()),
63+
ConfigLine(config_line="json-gw synchronous-request-timeout 50", parents=()),
64+
ConfigLine(config_line="no ntp server 192.168.0.254 disable", parents=()),
65+
ConfigLine(config_line="ntp server 192.168.0.254 keyID 0", parents=()),
66+
ConfigLine(config_line="ntp vrf default enable", parents=()),
67+
ConfigLine(config_line="stats chd telemetry enable", parents=()),
68+
ConfigLine(config_line="terminal sysrq enable", parents=()),
69+
ConfigLine(config_line="no web client cert-verify", parents=()),
70+
ConfigLine(config_line="web vrf default enable", parents=()),
71+
ConfigLine(config_line="no ip filter chain forward rule all", parents=()),
72+
ConfigLine(config_line="no ip filter chain input rule all", parents=()),
73+
ConfigLine(config_line="no ip filter chain logging rule all", parents=()),
74+
ConfigLine(config_line="no ip filter chain output rule all", parents=()),
75+
ConfigLine(config_line="no ip filter enable", parents=()),
76+
ConfigLine(config_line="ssh server login timeout 300", parents=()),
7777
]

0 commit comments

Comments
 (0)