diff options
author | Rob Austein <sra@hactrn.net> | 2013-03-24 21:40:57 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2013-03-24 21:40:57 +0000 |
commit | 339f735bcd2bdf4e9c56f4cb8082ce53fc90caf7 (patch) | |
tree | 6cb57310839bc9a88432e486a6757810d05bff67 /rpkid/rpki | |
parent | c1597f1a459ec1023ee45420557058fb839c2426 (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.py | 45 | ||||
-rw-r--r-- | rpkid/rpki/rpkic.py | 19 |
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): |