File tree Expand file tree Collapse file tree
netjsonconfig/backends/openwrt Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -78,8 +78,7 @@ def to_intermediate(self):
7878 result = []
7979 for interface in get_copy (self .netjson , 'interfaces' ):
8080 i = 1
81- # determine uci logical interface name
82- uci_name = logical_name (interface .get ('network' , interface ['name' ]))
81+ uci_name = self .__get_uci_name (interface )
8382 address_list = self .__get_addresses (interface )
8483 interface = self .__get_interface (interface , uci_name )
8584 # create one or more "config interface" UCI blocks
@@ -101,6 +100,13 @@ def to_intermediate(self):
101100 i += 1
102101 return (('network' , result ),)
103102
103+ def __get_uci_name (self , interface ):
104+ """
105+ determines uci logical interface name
106+ """
107+ name = interface .get ('network' ) or interface ['name' ]
108+ return logical_name (name )
109+
104110 def __get_addresses (self , interface ):
105111 """
106112 converts NetJSON address to
Original file line number Diff line number Diff line change @@ -1225,3 +1225,21 @@ def test_interface_disabled_bug(self):
12251225 })
12261226 self .assertNotIn ("disabled '0'" , o .render ())
12271227 self .assertIn ("enabled '1'" , o .render ())
1228+
1229+ def test_empty_network (self ):
1230+ o = OpenWrt ({
1231+ "interfaces" : [
1232+ {
1233+ "name" : "eth0" ,
1234+ "type" : "ethernet" ,
1235+ "network" : ""
1236+ }
1237+ ]
1238+ })
1239+ expected = self ._tabs ("""package network
1240+
1241+ config interface 'eth0'
1242+ option ifname 'eth0'
1243+ option proto 'none'
1244+ """ )
1245+ self .assertEqual (o .render (), expected )
You can’t perform that action at this time.
0 commit comments