ip_in_network without all information

This commit is contained in:
2020-02-18 22:08:52 +01:00
parent 3bef45c9db
commit 91c44b38bc
2 changed files with 55 additions and 8 deletions

View File

@ -88,17 +88,21 @@ def valid_in_network(ip,
else:
network_value = network
network_display_name = ''
if netmask is None:
if isinstance(netmask, dict):
netmask_value = netmask['value']
netmask_display_name = ' ({})'.format(netmask['name'])
else:
netmask_value = netmask
netmask_display_name = ''
if network_value is None:
return
if '/' in network_value:
network_obj = ip_network('{0}'.format(network_value))
else:
if isinstance(netmask, dict):
netmask_value = netmask['value']
netmask_display_name = ' ({})'.format(netmask['name'])
else:
netmask_value = netmask
netmask_display_name = ''
if netmask_value is None:
return
network_obj = ip_network('{0}/{1}'.format(network_value,
netmask_value))
netmask_value))
if ip_interface(ip) not in network_obj:
if netmask is None:
msg = _('this IP is not in network {0}{1}').format(network_value,