aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/cacheview/models.py
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2012-02-09 20:30:41 +0000
committerMichael Elkins <melkins@tislabs.com>2012-02-09 20:30:41 +0000
commit7ae4cc0468048e151132ff9da45baab25a48d69d (patch)
treea70e3765c8c0fb8b9abae2dad99e939592259341 /rpkid/rpki/gui/cacheview/models.py
parenta3ac9a1dfebbdaabadfb2e8ed9736c451862717b (diff)
pep8 fixes
svn path=/branches/tk161/; revision=4319
Diffstat (limited to 'rpkid/rpki/gui/cacheview/models.py')
-rw-r--r--rpkid/rpki/gui/cacheview/models.py88
1 files changed, 47 insertions, 41 deletions
diff --git a/rpkid/rpki/gui/cacheview/models.py b/rpkid/rpki/gui/cacheview/models.py
index f2249653..c4429709 100644
--- a/rpkid/rpki/gui/cacheview/models.py
+++ b/rpkid/rpki/gui/cacheview/models.py
@@ -1,21 +1,19 @@
-"""
-$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
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND SPARTA DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL SPARTA BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-"""
+# 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
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND SPARTA DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL SPARTA BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+__version__ = '$Id$'
from datetime import datetime
import time
@@ -26,22 +24,25 @@ import rpki.ipaddrs
import rpki.resource_set
import rpki.gui.models
+
class TelephoneField(models.CharField):
def __init__(self, *args, **kwargs):
kwargs['max_length'] = 255
models.CharField.__init__(self, *args, **kwargs)
-class AddressRange(rpki.gui.models.PrefixV4):
+class AddressRange(rpki.gui.models.PrefixV4):
@models.permalink
def get_absolute_url(self):
return ('rpki.gui.cacheview.views.addressrange_detail', [str(self.pk)])
-class AddressRangeV6(rpki.gui.models.PrefixV6):
+class AddressRangeV6(rpki.gui.models.PrefixV6):
@models.permalink
def get_absolute_url(self):
- return ('rpki.gui.cacheview.views.addressrange_detail_v6', [str(self.pk)])
+ return ('rpki.gui.cacheview.views.addressrange_detail_v6',
+ [str(self.pk)])
+
class ASRange(rpki.gui.models.ASN):
@models.permalink
@@ -49,7 +50,8 @@ class ASRange(rpki.gui.models.ASN):
return ('rpki.gui.cacheview.views.asrange_detail', [str(self.pk)])
kinds = list(enumerate(('good', 'warn', 'bad')))
-kinds_dict = dict((v,k) for k,v in kinds)
+kinds_dict = dict((v, k) for k,v in kinds)
+
class ValidationLabel(models.Model):
"""
@@ -66,14 +68,16 @@ class ValidationLabel(models.Model):
generations = list(enumerate(('current', 'backup')))
generations_dict = dict((val, key) for (key, val) in generations)
+
class ValidationStatus(models.Model):
- timestamp = models.DateTimeField(null=False)
+ timestamp = models.DateTimeField(null=False)
generation = models.PositiveSmallIntegerField(choices=generations, null=True)
- status = models.ForeignKey('ValidationLabel', null=False)
+ status = models.ForeignKey('ValidationLabel', null=False)
class Meta:
abstract = True
+
class SignedObject(models.Model):
"""
Abstract class to hold common metadata for all signed objects.
@@ -81,20 +85,20 @@ class SignedObject(models.Model):
value for the 'related_name' attribute.
"""
# attributes from rcynic's output XML file
- uri = models.URLField(unique=True, db_index=True, null=False)
+ uri = models.URLField(unique=True, db_index=True, null=False)
# on-disk file modification time
- mtime = models.PositiveIntegerField(default=0, null=False)
+ mtime = models.PositiveIntegerField(default=0, null=False)
# SubjectName
- name = models.CharField(max_length=255, null=False)
+ name = models.CharField(max_length=255, null=False)
# value from the SKI extension
keyid = models.CharField(max_length=60, db_index=True, null=False)
# validity period from EE cert which signed object
not_before = models.DateTimeField(null=False)
- not_after = models.DateTimeField(null=False)
+ not_after = models.DateTimeField(null=False)
class Meta:
abstract = True
@@ -121,28 +125,30 @@ class SignedObject(models.Model):
for x in reversed(kinds):
if self.statuses.filter(generation=generations_dict['current'], status__kind=x[0]):
return x[1]
- return None # should not happen
+ return None # should not happen
def __unicode__(self):
return u'%s' % self.name
+
class Cert(SignedObject):
"""
Object representing a resource certificate.
"""
addresses = models.ManyToManyField(AddressRange, related_name='certs')
addresses_v6 = models.ManyToManyField(AddressRangeV6, related_name='certs')
- asns = models.ManyToManyField(ASRange, related_name='certs')
- issuer = models.ForeignKey('Cert', related_name='children', null=True, blank=True)
- sia = models.CharField(max_length=255, null=False)
+ asns = models.ManyToManyField(ASRange, related_name='certs')
+ issuer = models.ForeignKey('Cert', related_name='children', null=True, blank=True)
+ sia = models.CharField(max_length=255, null=False)
@models.permalink
def get_absolute_url(self):
return ('rpki.gui.cacheview.views.cert_detail', [str(self.pk)])
+
class ValidationStatus_Cert(ValidationStatus):
- cert = models.ForeignKey('Cert', related_name='statuses',
- null=False)
+ cert = models.ForeignKey('Cert', related_name='statuses', null=False)
+
class ROAPrefix(models.Model):
"Abstract base class for ROA mixin."
@@ -163,6 +169,7 @@ class ROAPrefix(models.Model):
return str(p)
return '%s-%s' % (str(p), self.max_length)
+
# ROAPrefix is declared first, so subclass picks up __unicode__ from it.
class ROAPrefixV4(ROAPrefix, rpki.gui.models.PrefixV4):
"One v4 prefix in a ROA."
@@ -172,6 +179,7 @@ class ROAPrefixV4(ROAPrefix, rpki.gui.models.PrefixV4):
class Meta:
ordering = ('prefix_min',)
+
# ROAPrefix is declared first, so subclass picks up __unicode__ from it.
class ROAPrefixV6(ROAPrefix, rpki.gui.models.PrefixV6):
"One v6 prefix in a ROA."
@@ -181,11 +189,12 @@ class ROAPrefixV6(ROAPrefix, rpki.gui.models.PrefixV6):
class Meta:
ordering = ('prefix_min',)
+
class ROA(SignedObject):
- asid = models.PositiveIntegerField(null=False)
+ asid = models.PositiveIntegerField(null=False)
prefixes = models.ManyToManyField(ROAPrefixV4, related_name='roas')
prefixes_v6 = models.ManyToManyField(ROAPrefixV6, related_name='roas')
- issuer = models.ForeignKey('Cert', related_name='roas', null=False)
+ issuer = models.ForeignKey('Cert', related_name='roas', null=False)
@models.permalink
def get_absolute_url(self):
@@ -197,13 +206,11 @@ class ROA(SignedObject):
def __unicode__(self):
return u'ROA for AS%d' % self.asid
- @models.permalink
- def get_absolute_url(self):
- return ('rpki.gui.cacheview.views.roa_detail', [str(self.pk)])
class ValidationStatus_ROA(ValidationStatus):
roa = models.ForeignKey('ROA', related_name='statuses', null=False)
+
class Ghostbuster(SignedObject):
full_name = models.CharField(max_length=40)
email_address = models.EmailField(blank=True, null=True)
@@ -224,7 +231,6 @@ class Ghostbuster(SignedObject):
return self.email_address
return self.telephone
+
class ValidationStatus_Ghostbuster(ValidationStatus):
gbr = models.ForeignKey('Ghostbuster', related_name='statuses', null=False)
-
-# vim:sw=4 ts=8 expandtab