diff options
author | Rob Austein <sra@hactrn.net> | 2012-11-28 00:53:04 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-11-28 00:53:04 +0000 |
commit | e2fb2b8b2e7545900a4a1fcc43eca1d16c7cb0c8 (patch) | |
tree | 96e17c05d22ae9e9834b03c9f567328698e5d7d4 /rpkid/rpki/resource_set.py | |
parent | da2f50b053e18d8cb79df36541b9bbdb8395cb80 (diff) |
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
Diffstat (limited to 'rpkid/rpki/resource_set.py')
-rw-r--r-- | rpkid/rpki/resource_set.py | 16 |
1 files changed, 16 insertions, 0 deletions
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. |