diff options
Diffstat (limited to 'rpkid/rpki/gui/models.py')
-rw-r--r-- | rpkid/rpki/gui/models.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/rpkid/rpki/gui/models.py b/rpkid/rpki/gui/models.py index 30879e44..0ea0924b 100644 --- a/rpkid/rpki/gui/models.py +++ b/rpkid/rpki/gui/models.py @@ -18,12 +18,10 @@ Common classes for reuse in apps. __version__ = '$Id$' -import struct - from django.db import models import rpki.resource_set -import rpki.ipaddrs +import rpki.POW from south.modelsinspector import add_introspection_rules @@ -36,17 +34,16 @@ class IPv6AddressField(models.Field): return 'binary(16)' def to_python(self, value): - if isinstance(value, rpki.ipaddrs.v6addr): + if isinstance(value, rpki.POW.IPAddress): return value - x = struct.unpack('!QQ', value) - return rpki.ipaddrs.v6addr((x[0] << 64) | x[1]) + return rpki.POW.IPAddress.fromBytes(value) def get_db_prep_value(self, value, connection, prepared): - return struct.pack('!QQ', (long(value) >> 64) & 0xFFFFFFFFFFFFFFFFL, long(value) & 0xFFFFFFFFFFFFFFFFL) + return value.toBytes() class IPv4AddressField(models.Field): - "Wrapper around rpki.ipaddrs.v4addr." + "Wrapper around rpki.POW.IPAddress." __metaclass__ = models.SubfieldBase @@ -54,9 +51,9 @@ class IPv4AddressField(models.Field): return 'int UNSIGNED' def to_python(self, value): - if isinstance(value, rpki.ipaddrs.v4addr): + if isinstance(value, rpki.POW.IPAddress): return value - return rpki.ipaddrs.v4addr(value) + return rpki.POW.IPAddress(value, version=4) def get_db_prep_value(self, value, connection, prepared): return long(value) @@ -97,10 +94,11 @@ class Prefix(models.Model): class Meta: abstract = True - + # default sort order reflects what "sh ip bgp" outputs ordering = ('prefix_min',) + class PrefixV4(Prefix): "IPv4 Prefix." @@ -112,6 +110,7 @@ class PrefixV4(Prefix): class Meta(Prefix.Meta): abstract = True + class PrefixV6(Prefix): "IPv6 Prefix." @@ -123,6 +122,7 @@ class PrefixV6(Prefix): class Meta(Prefix.Meta): abstract = True + class ASN(models.Model): """Represents a range of ASNs. |