code: def calc_net(ipaddr, netmask=None):
      '''
      Takes IP (CIDR notation supported) and optionally netmask
      and returns the network in CIDR-notation.
      (The IP can be any IP inside the subnet)
      '''
      if netmask is not None:
          ipaddr = '{0}/{1}'.format(ipaddr, netmask)
  
      return six.text_type(ipaddress.ip_network(ipaddr, strict=False)f calc_net(ipaddr, netmask=None):
      '''
      Takes IP (CIDR notation supported) and optionally netmask
      and returns the network in CIDR-notation.
      (The IP can be any IP inside the subnet)
      '''
      if netmask is not None:
          ipaddr = '{0}/{1}'.format(ipaddr, netmask)
  
      return six.text_type(ipaddress.ip_network(ipaddr, strict=False))
docs: Takes IP (CIDR notation supported) and optionally netmask
      and returns the network in CIDR-notation.
      (The IP can be any IP inside the subnet)