aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/left-right-protocol-samples.xsl8
-rw-r--r--scripts/rpki/left_right.py40
-rwxr-xr-xscripts/xml-parse-test.py38
-rwxr-xr-xscripts/xml-simple-dump.pl25
4 files changed, 54 insertions, 57 deletions
diff --git a/scripts/left-right-protocol-samples.xsl b/scripts/left-right-protocol-samples.xsl
index c314c169..da313544 100644
--- a/scripts/left-right-protocol-samples.xsl
+++ b/scripts/left-right-protocol-samples.xsl
@@ -27,3 +27,11 @@
</xsl:for-each>
</xsl:template>
</xsl:transform>
+
+
+<!--
+ - Local variables:
+ - mode: sgml
+ - compile-command: "xsltproc left-right-protocol-samples.xsl ../docs/left-right-xml"
+ - End:
+ -->
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py
index 9b926ddd..a0ca63fe 100644
--- a/scripts/rpki/left_right.py
+++ b/scripts/rpki/left_right.py
@@ -22,7 +22,7 @@ class extension_preference_elt(base_elt):
"""
def startElement(self, stack, name, attrs):
- assert name == "extension_preference"
+ assert name == "extension_preference", "Unexpected name %s, stack %s" % (name, stack)
self.name = attrs["name"]
def endElement(self, stack, name, text):
@@ -46,18 +46,18 @@ class self_elt(base_elt):
if name == "extension_preference":
pref = extension_preference_elt()
self.prefs.append(pref)
- stack.append(prefs)
+ stack.append(pref)
pref.startElement(stack, name, attrs)
elif name in self.booleans:
setattr(self, name, True)
else:
- assert name == "self"
+ assert name == "self", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs.get("self_id")
def endElement(self, stack, name, text):
if name not in self.booleans:
- assert name == "self"
+ assert name == "self", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class bsc_elt(base_elt):
@@ -74,7 +74,7 @@ class bsc_elt(base_elt):
self.hash_alg = attrs["hash_alg"]
self.key_length = attrs["key_length"]
elif not name in ("signing_cert", "public_key", "pkcs10_cert_request"):
- assert name == "bsc"
+ assert name == "bsc", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs["self_id"]
self.bsc_id = attrs.get("bsc_id")
@@ -86,8 +86,8 @@ class bsc_elt(base_elt):
self.public_key = base64.b64decode(text)
elif name == "pkcs10_cert_request":
self.pkcs10_cert_request = base64.b64decode(text)
- else:
- assert name == "bsc"
+ elif name != "generate_keypair":
+ assert name == "bsc", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class parent_elt(base_elt):
@@ -108,7 +108,7 @@ class parent_elt(base_elt):
elif name in self.booleans:
setattr(self, name, True)
elif name != "peer_ta":
- assert name == "parent"
+ assert name == "parent", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs["self_id"]
self.parent_id = attrs.get("parent_id")
@@ -117,7 +117,7 @@ class parent_elt(base_elt):
if name == "peer_ta":
self.peer_ta = base64.b64decode(text)
elif name not in self.booleans + self.ids + self.uris:
- assert name == "parent"
+ assert name == "parent", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class child_elt(base_elt):
@@ -135,7 +135,7 @@ class child_elt(base_elt):
elif name in self.booleans:
setattr(self, name, True)
elif name != "peer_ta":
- assert name == "child"
+ assert name == "child", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs["self_id"]
self.child_id = attrs.get("child_id")
@@ -144,7 +144,7 @@ class child_elt(base_elt):
if name == "peer_ta":
self.peer_ta = base64.b64decode(text)
elif name not in self.booleans + self.ids:
- assert name == "child"
+ assert name == "child", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class repository_elt(base_elt):
@@ -155,7 +155,7 @@ class repository_elt(base_elt):
elif name == "peer_contact":
self.peer_contact = attrs["uri"]
elif name != "peer_ta":
- assert name == "repository"
+ assert name == "repository", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs["self_id"]
self.repository_id = attrs.get("repository_id")
@@ -164,7 +164,7 @@ class repository_elt(base_elt):
if name == "peer_ta":
self.peer_ta = base64.b64decode(text)
elif name not in ("bsc_link", "peer_contact"):
- assert name == "repository"
+ assert name == "repository", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class route_origin_elt(base_elt):
@@ -183,20 +183,20 @@ class route_origin_elt(base_elt):
if "ipv6" in attrs:
self.ipv6 = resource_set.resource_set_ipv6(attrs["ipv6"])
else:
- assert name == "route_origin"
+ assert name == "route_origin", "Unexpected name %s, stack %s" % (name, stack)
self.action = attrs["action"]
self.self_id = attrs["self_id"]
self.route_origin_id = attrs.get("route_origin_id")
def endElement(self, stack, name, text):
if name not in ("suppress_publication", "resources"):
- assert name == "route_origin"
+ assert name == "route_origin", "Unexpected name %s, stack %s" % (name, stack)
stack.pop()
class resource_class_elt(base_elt):
def startElement(self, stack, name, attrs):
- assert name == "resource_class"
+ assert name == "resource_class", "Unexpected name %s, stack %s" % (name, stack)
if "as" in attrs:
self.as = resource_set.resource_set_as(attrs["as"])
if "req_as" in attrs:
@@ -222,14 +222,14 @@ class list_resources_elt(base_elt):
stack.append(rc)
rc.startElement(stack, name, attrs)
else:
- assert name == "list_resources"
+ assert name == "list_resources", "Unexpected name %s, stack %s" % (name, stack)
self.self_id = attrs["self_id"]
self.child_id = attrs.get("child_id")
class report_error_elt(base_elt):
def startElement(self, stack, name, attrs):
- assert name == "report_error"
+ assert name == "report_error", "Unexpected name %s, stack %s" % (name, stack)
self.self_id = attrs["self_id"]
self.error_code = attrs["error_code"]
@@ -262,7 +262,7 @@ class msg(list):
elt.startElement(stack, name, attrs)
def endElement(self, stack, name, text):
- assert name == "msg"
+ assert name == "msg", "Unexpected name %s, stack %s" % (name, stack)
assert len(stack) == 1
stack.pop()
@@ -280,4 +280,4 @@ class sax_handler(sax_utils.handler):
def create_top_level(self, name, attrs):
assert name == "msg" and attrs["version"] == "1"
- return msg_elt()
+ return msg()
diff --git a/scripts/xml-parse-test.py b/scripts/xml-parse-test.py
index 27b57d1c..1f7954c3 100755
--- a/scripts/xml-parse-test.py
+++ b/scripts/xml-parse-test.py
@@ -1,15 +1,29 @@
# $Id$
-import glob, rpki.up_down, rpki.relaxng, xml.sax
+import glob, rpki.up_down, rpki.left_right, rpki.relaxng, xml.sax
-files = glob.glob("up-down-protocol-samples/*.xml")
-files.sort()
-for f in files:
- handler = rpki.up_down.sax_handler()
- fh = open(f, "r")
- x = fh.read()
- fh.close()
- xml.sax.parseString(x, handler)
- x = str(handler.result)
- print x
- rpki.relaxng.relaxng(x, "up-down-medium-schema.rng")
+if False:
+ files = glob.glob("up-down-protocol-samples/*.xml")
+ files.sort()
+ for f in files:
+ handler = rpki.up_down.sax_handler()
+ fh = open(f, "r")
+ x = fh.read()
+ fh.close()
+ xml.sax.parseString(x, handler)
+ x = str(handler.result)
+ print x
+ rpki.relaxng.relaxng(x, "up-down-medium-schema.rng")
+
+if True:
+ files = glob.glob("left-right-protocol-samples/*.xml")
+ files.sort()
+ for f in files:
+ handler = rpki.left_right.sax_handler()
+ fh = open(f, "r")
+ x = fh.read()
+ fh.close()
+ xml.sax.parseString(x, handler)
+ x = str(handler.result)
+ print x
+# rpki.relaxng.relaxng(x, "left-right-schema.rng")
diff --git a/scripts/xml-simple-dump.pl b/scripts/xml-simple-dump.pl
deleted file mode 100755
index 909517c9..00000000
--- a/scripts/xml-simple-dump.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id$
-#
-# XML::Simple is relatively easy to use (have you looked at the
-# alternatives?) but sometimes even XML::Simple's internal
-# representation is not immediately obvious. On days when it'd be
-# easier to write the XML by hand and let a machine tell you how
-# XML::Simple would represent it, run this script.
-
-eval 'exec perl -w -S $0 ${1+"$@"}'
- if 0;
-
-use strict;
-use XML::Simple;
-use Data::Dumper;
-
-my $xs = XML::Simple->new(KeepRoot => 1,
- ForceArray => [qw(list_class)],
- KeyAttr => [qw(header)],
- NormalizeSpace => 2);
-
-my @xml = <>;
-shift(@xml) while (@xml && $xml[0] =~ /^\s*$/);
-$xml[0] =~ s/^\s+// if (@xml);
-
-print(Dumper($xs->XMLin(join('', @xml))));