diff options
author | Michael Elkins <melkins@tislabs.com> | 2010-07-04 05:05:20 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2010-07-04 05:05:20 +0000 |
commit | bfcc253383fa1ee4ba9d35759e6bbfc1b2c1597b (patch) | |
tree | d96fb48054da97b8d1d9d10999de4385f39ac886 | |
parent | dcea98e07c74de89afaa89f9ec019714daeff043 (diff) |
pretty print address ranges in cidr when possible
svn path=/portal-gui/rpkigui/myrpki/misc.py; revision=3329
-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,) |