def add_host(self, ip, network): h = Host(ip=ip, network=network) self.stdout.write("%s adding\n" % ip) try: h.save() except IntegrityError, e: self.stderr.write("%s ERROR %s\n" % (ip, e))
def ping_once(self): hosts = [] for network in Network.objects.all(): try: addresses = list(IpRange(str(network.network))) except TypeError: sys.stderr.write("Invalid network %s\n" % network) continue # check if network is /31 or /32 if len(addresses) > 2: addresses = addresses[1:-1] for ip in addresses: try: host = Host.objects.get(ip=ip) except Host.DoesNotExist: host = Host(ip=ip, network=network) try: host.save() except IntegrityError, e: self.stderr.write("%s ERROR %s\n" % (ip, e)) continue hosts.append(host.ip)