aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2012-01-17 23:34:16 +0000
committerMichael Elkins <melkins@tislabs.com>2012-01-17 23:34:16 +0000
commit989f7762afbb222ea841729b99a1e1580496986d (patch)
tree68d182974da3df05d0bce3793f3adb53e736d7e5
parente326b06d9bee7357d5c645321d4c8057166413f9 (diff)
pull duplicated model for represent AS ranges into abstract model in rpki.gui.models so it can be reused.
svn path=/branches/tk161/; revision=4213
-rw-r--r--rpkid/rpki/gui/app/models.py4
-rw-r--r--rpkid/rpki/gui/cacheview/models.py17
-rw-r--r--rpkid/rpki/gui/models.py18
3 files changed, 23 insertions, 16 deletions
diff --git a/rpkid/rpki/gui/app/models.py b/rpkid/rpki/gui/app/models.py
index 47b5fcab..4d765662 100644
--- a/rpkid/rpki/gui/app/models.py
+++ b/rpkid/rpki/gui/app/models.py
@@ -94,9 +94,7 @@ class ResourceRangeAddressV4(rpki.gui.models.PrefixV4):
class ResourceRangeAddressV6(rpki.gui.models.PrefixV6):
cert = models.ForeignKey(ResourceCert, related_name='address_ranges_v6')
-class ResourceRangeAS(models.Model):
- min = models.PositiveIntegerField()
- max = models.PositiveIntegerField()
+class ResourceRangeAS(rpki.gui.models.ASN):
cert = models.ForeignKey(ResourceCert, related_name='asn_ranges')
class RoaRequest(rpki.irdb.models.RoaRequest):
diff --git a/rpkid/rpki/gui/cacheview/models.py b/rpkid/rpki/gui/cacheview/models.py
index 598d7f1d..f2249653 100644
--- a/rpkid/rpki/gui/cacheview/models.py
+++ b/rpkid/rpki/gui/cacheview/models.py
@@ -1,5 +1,8 @@
"""
+$Id$
+
Copyright (C) 2011 SPARTA, Inc. dba Cobham Analytic Solutions
+Copyright (C) 2012 SPARTA, Inc. a Parsons Company
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -40,19 +43,7 @@ class AddressRangeV6(rpki.gui.models.PrefixV6):
def get_absolute_url(self):
return ('rpki.gui.cacheview.views.addressrange_detail_v6', [str(self.pk)])
-class ASRange(models.Model):
- min = models.PositiveIntegerField(null=False)
- max = models.PositiveIntegerField(null=False)
-
- class Meta:
- ordering = ('min', 'max')
-
- def __unicode__(self):
- if self.min == self.max:
- return u'AS%d' % self.min
- else:
- return u'AS%s-%s' % (self.min, self.max)
-
+class ASRange(rpki.gui.models.ASN):
@models.permalink
def get_absolute_url(self):
return ('rpki.gui.cacheview.views.asrange_detail', [str(self.pk)])
diff --git a/rpkid/rpki/gui/models.py b/rpkid/rpki/gui/models.py
index dba10b80..24361c5d 100644
--- a/rpkid/rpki/gui/models.py
+++ b/rpkid/rpki/gui/models.py
@@ -111,4 +111,22 @@ class PrefixV6(Prefix):
class Meta(Prefix.Meta):
abstract = True
+class ASN(models.Model):
+ """Represents a range of ASNs.
+
+ This model is abstract, and is intended to be reused by applications."""
+
+ min = models.PositiveIntegerField(null=False)
+ max = models.PositiveIntegerField(null=False)
+
+ class Meta:
+ abstract = True
+ ordering = ('min', 'max')
+
+ def __unicode__(self):
+ if self.min == self.max:
+ return u'AS%d' % self.min
+ else:
+ return u'AS%s-%s' % (self.min, self.max)
+
# vim:sw=4 ts=8 expandtab