1 from django.db import models
2 from utils.whois import *
3 from django.contrib.auth.models import User
5 class PeerRange(models.Model):
6 network = models.CharField(max_length=128)
10 db_table = u'peer_range'
11 ordering = ['network']
13 class TechcEmail(models.Model):
14 email = models.CharField(max_length=352, db_column="email")
15 def __unicode__(self):
18 db_table="techc_email"
20 class Peer(models.Model):
21 peer_id = models.IntegerField(primary_key=True)
22 peer_name = models.CharField(max_length=128)
23 peer_as = models.IntegerField()
24 peer_tag = models.CharField(max_length=64)
25 domain_name = models.CharField(max_length=128, null=True, blank=True)
26 networks = models.ManyToManyField(PeerRange, null=True, blank=True)
27 techc_emails = models.ManyToManyField(TechcEmail, null=True, blank=True)
29 def __unicode__(self):
33 ordering = ['peer_name']
36 def fill_networks(self):
39 peer_as = "AS%s" %self.peer_as
40 network_range = whois(peer_as)
42 for network_item in network_range:
43 range, created = PeerRange.objects.get_or_create(network=network_item.compressed)
44 networks_list.append(range)
45 self.networks = networks_list