aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2013-03-24 21:40:57 +0000
committerRob Austein <sra@hactrn.net>2013-03-24 21:40:57 +0000
commit339f735bcd2bdf4e9c56f4cb8082ce53fc90caf7 (patch)
tree6cb57310839bc9a88432e486a6757810d05bff67 /rpkid/rpki
parentc1597f1a459ec1023ee45420557058fb839c2426 (diff)
First pass at cleaning up exception handling in rpkic and zookeeper.
See #485. svn path=/trunk/; revision=5205
Diffstat (limited to 'rpkid/rpki')
-rw-r--r--rpkid/rpki/irdb/zookeeper.py45
-rw-r--r--rpkid/rpki/rpkic.py19
2 files changed, 27 insertions, 37 deletions
diff --git a/rpkid/rpki/irdb/zookeeper.py b/rpkid/rpki/irdb/zookeeper.py
index d4fd59d0..b9d44c57 100644
--- a/rpkid/rpki/irdb/zookeeper.py
+++ b/rpkid/rpki/irdb/zookeeper.py
@@ -60,7 +60,8 @@ rootd_section = "rootd"
# A whole lot of exceptions
-class MissingHandle(Exception): "Missing handle"
+class HandleNotSet(Exception): "Handle not set."
+class MissingHandle(Exception): "Missing handle."
class CouldntTalkToDaemon(Exception): "Couldn't talk to daemon."
class BadXMLMessage(Exception): "Bad XML message."
class PastExpiration(Exception): "Expiration date has already passed."
@@ -253,11 +254,9 @@ class Zookeeper(object):
Get ResourceHolderCA object associated with current handle.
"""
- assert self.handle is not None
- try:
- return rpki.irdb.ResourceHolderCA.objects.get(handle = self.handle)
- except rpki.irdb.ResourceHolderCA.DoesNotExist:
- return None
+ if self.handle is None:
+ raise HandleNotSet
+ return rpki.irdb.ResourceHolderCA.objects.get(handle = self.handle)
@property
@@ -266,10 +265,7 @@ class Zookeeper(object):
Get ServerCA object.
"""
- try:
- return rpki.irdb.ServerCA.objects.get()
- except rpki.irdb.ServerCA.DoesNotExist:
- return None
+ return rpki.irdb.ServerCA.objects.get()
@django.db.transaction.commit_on_success
@@ -517,11 +513,7 @@ class Zookeeper(object):
Delete a child of this RPKI entity.
"""
- assert child_handle is not None
- try:
- self.resource_ca.children.get(handle = child_handle).delete()
- except rpki.irdb.Child.DoesNotExist:
- self.log("No such child \"%s\"" % child_handle)
+ self.resource_ca.children.get(handle = child_handle).delete()
@django.db.transaction.commit_on_success
@@ -593,11 +585,7 @@ class Zookeeper(object):
Delete a parent of this RPKI entity.
"""
- assert parent_handle is not None
- try:
- self.resource_ca.parents.get(handle = parent_handle).delete()
- except rpki.irdb.Parent.DoesNotExist:
- self.log("No such parent \"%s\"" % parent_handle)
+ self.resource_ca.parents.get(handle = parent_handle).delete()
@django.db.transaction.commit_on_success
@@ -606,10 +594,7 @@ class Zookeeper(object):
Delete rootd associated with this RPKI entity.
"""
- try:
- self.resource_ca.rootd.delete()
- except rpki.irdb.Rootd.DoesNotExist:
- self.log("No associated rootd")
+ self.resource_ca.rootd.delete()
@django.db.transaction.commit_on_success
@@ -715,11 +700,7 @@ class Zookeeper(object):
Delete a publication client of this RPKI entity.
"""
- assert client_handle is not None
- try:
- self.server_ca.clients.get(handle = client_handle).delete()
- except rpki.irdb.Client.DoesNotExist:
- self.log("No such client \"%s\"" % client_handle)
+ self.server_ca.clients.get(handle = client_handle).delete()
@django.db.transaction.commit_on_success
@@ -766,11 +747,7 @@ class Zookeeper(object):
Delete a repository of this RPKI entity.
"""
- assert repository_handle is not None
- try:
- self.resource_ca.repositories.get(handle = repository_handle).delete()
- except rpki.irdb.Repository.DoesNotExist:
- self.log("No such repository \"%s\"" % repository_handle)
+ self.resource_ca.repositories.get(handle = repository_handle).delete()
@django.db.transaction.commit_on_success
diff --git a/rpkid/rpki/rpkic.py b/rpkid/rpki/rpkic.py
index 7e0eeaa6..28d248c2 100644
--- a/rpkid/rpki/rpkic.py
+++ b/rpkid/rpki/rpkic.py
@@ -256,6 +256,8 @@ class main(rpki.cli.Cmd):
try:
self.zoo.delete_child(arg)
self.zoo.synchronize_ca()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
except rpki.irdb.Child.DoesNotExist:
print "No such child \"%s\"" % arg
@@ -303,6 +305,8 @@ class main(rpki.cli.Cmd):
try:
self.zoo.delete_parent(arg)
self.zoo.synchronize_ca()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
except rpki.irdb.Parent.DoesNotExist:
print "No such parent \"%s\"" % arg
@@ -318,6 +322,8 @@ class main(rpki.cli.Cmd):
try:
self.zoo.delete_rootd()
self.zoo.synchronize_ca()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
except rpki.irdb.Rootd.DoesNotExist:
print "No associated rootd"
@@ -359,8 +365,10 @@ class main(rpki.cli.Cmd):
"""
try:
- self.zoo.delete_publication_client(arg).delete()
+ self.zoo.delete_publication_client(arg)
self.zoo.synchronize_pubd()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
except rpki.irdb.Client.DoesNotExist:
print "No such client \"%s\"" % arg
@@ -402,6 +410,8 @@ class main(rpki.cli.Cmd):
try:
self.zoo.delete_repository(arg)
self.zoo.synchronize_ca()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
except rpki.irdb.Repository.DoesNotExist:
print "No such repository \"%s\"" % arg
@@ -414,8 +424,11 @@ class main(rpki.cli.Cmd):
Delete the current RPKI entity (<self/> object).
"""
- self.zoo.delete_self()
- self.zoo.synchronize_deleted_ca()
+ try:
+ self.zoo.delete_self()
+ self.zoo.synchronize_deleted_ca()
+ except rpki.irdb.ResourceHolderCA.DoesNotExist:
+ print "No such resource holder \"%s\"" % self.zoo.handle
def do_renew_child(self, arg):