From e2fb2b8b2e7545900a4a1fcc43eca1d16c7cb0c8 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 28 Nov 2012 00:53:04 +0000 Subject: Add testable property resource_range_ip.can_be_prefix for contexts where catching an exception isn't practical. Closes #357. svn path=/trunk/; revision=4920 --- rpkid/rpki/resource_set.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'rpkid/rpki/resource_set.py') diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py index f0d096d5..27f6df6e 100644 --- a/rpkid/rpki/resource_set.py +++ b/rpkid/rpki/resource_set.py @@ -156,6 +156,22 @@ class resource_range_ip(resource_range): raise rpki.exceptions.MustBePrefix return prefixlen + @property + def can_be_prefix(self): + """ + Boolean property indicating whether this range can be expressed as + a prefix. + + This just calls .prefixlen() to do the work, so that we can keep + the logic in one place. This property is useful primarily in + context where catching an exception isn't practical. + """ + try: + self.prefixlen() + return True + except rpki.exceptions.MustBePrefix: + return False + def __str__(self): """ Convert a resource_range_ip to string format. -- cgit v1.2.3