aboutsummaryrefslogtreecommitdiff
path: root/scripts/rpki/left_right.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-09-18 21:44:21 +0000
committerRob Austein <sra@hactrn.net>2007-09-18 21:44:21 +0000
commit2c5df0fe0ecf1683bf2935d027411905035042b0 (patch)
tree259f542f3669c0855fe2b9a12e606f7df7bc0888 /scripts/rpki/left_right.py
parentf0d2933a30b05039919a3aecbb53e640d4c9c126 (diff)
Start adding our own exceptions.
svn path=/scripts/rpki/cms.py; revision=988
Diffstat (limited to 'scripts/rpki/left_right.py')
-rw-r--r--scripts/rpki/left_right.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py
index 9b1f0d89..ffaa17ad 100644
--- a/scripts/rpki/left_right.py
+++ b/scripts/rpki/left_right.py
@@ -2,7 +2,7 @@
"""RPKI "left-right" protocol."""
-import base64, rpki.sax_utils, rpki.resource_set, lxml.etree, rpki.x509, rpki.sql
+import base64, rpki.sax_utils, rpki.resource_set, lxml.etree, rpki.x509, rpki.sql, rpki.exceptions
xmlns = "http://www.hactrn.net/uris/rpki/left-right-spec/"
@@ -123,12 +123,14 @@ class data_elt(base_elt, rpki.sql.sql_persistant):
r_msg.append(make_error_report(self))
def serve_dispatch(self, db, cur, r_msg):
- assert self.type == "query"
- { "create" : self.serve_create,
- "set" : self.serve_set,
- "get" : self.serve_get,
- "list" : self.serve_list,
- "destroy" : self.serve_destroy }[self.action](db, cur, r_msg)
+ dispatch = { "create" : self.serve_create,
+ "set" : self.serve_set,
+ "get" : self.serve_get,
+ "list" : self.serve_list,
+ "destroy" : self.serve_destroy }
+ if self.type != "query" or self.action not in dispatch:
+ raise rpki.exceptions.BadQuery, "Unexpected query: type %s, action %s" % (self.type, self.action)
+ dispatch[self.action](db, cur, r_msg)
class extension_preference_elt(base_elt):
"""Container for extension preferences."""
@@ -349,7 +351,7 @@ class route_origin_elt(data_elt):
roa = roas[0][0]
ca_detail_id = roas[0][1]
elif len(roas) > 0:
- raise RunTimeError, "Multiple ROAs found, mapping should be one-to-one"
+ raise rpki.exceptions.MultipleROAsFound, "Multiple ROAs found for route_origin %s, mapping should be one-to-one" % self.route_origin_id
def sql_insert_hook(self, db, cur):
if self.ipv4 + self.ipv6: