diff options
-rw-r--r-- | portal-gui/rpkigui/myrpki/misc.py | 15 | ||||
-rw-r--r-- | portal-gui/rpkigui/myrpki/models.py | 5 |
2 files changed, 19 insertions, 1 deletions
diff --git a/portal-gui/rpkigui/myrpki/misc.py b/portal-gui/rpkigui/myrpki/misc.py new file mode 100644 index 00000000..d8881694 --- /dev/null +++ b/portal-gui/rpkigui/myrpki/misc.py @@ -0,0 +1,15 @@ +# $Id$ + +import socket +import rpki.resource_set +import rpki.ipaddrs + +def str_to_range(lo, hi): + """Convert IP address string to resourcce_range_ip.""" + try: + v = rpki.resource_set.resource_range_ipv4(rpki.ipaddrs.v4addr(str(lo)), rpki.ipaddrs.v4addr(str(hi))) + except socket.error: + v = rpki.resource_set.resource_range_ipv6(rpki.ipaddrs.v6addr(str(lo)), rpki.ipaddrs.v6addr(str(hi))) + return v + +# vim:sw=4 ts=8 expandtab diff --git a/portal-gui/rpkigui/myrpki/models.py b/portal-gui/rpkigui/myrpki/models.py index 329cd641..7823b9ff 100644 --- a/portal-gui/rpkigui/myrpki/models.py +++ b/portal-gui/rpkigui/myrpki/models.py @@ -2,6 +2,8 @@ from django.db import models from django.contrib.auth.models import User +from rpkigui.myrpki.misc import str_to_range +import rpki.resource_set class HandleField(models.CharField): def __init__(self, **kwargs): @@ -42,7 +44,8 @@ class AddressRange(models.Model): if self.lo == self.hi: return u"%s" % (self.lo,) else: - return u"%s - %s" % (self.lo, self.hi) + # pretty print cidr + return unicode(str_to_range(self.lo, self.hi)) def get_absolute_url(self): return u'/myrpki/address/%d' % (self.pk,) |