aboutsummaryrefslogtreecommitdiff
path: root/scripts/irbe-cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/irbe-cli.py')
-rwxr-xr-xscripts/irbe-cli.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/scripts/irbe-cli.py b/scripts/irbe-cli.py
new file mode 100755
index 00000000..c9df0d9a
--- /dev/null
+++ b/scripts/irbe-cli.py
@@ -0,0 +1,21 @@
+# $Id$
+
+"""
+Command line program to simulate behavior of the IR back-end.
+"""
+
+import glob, rpki.left_right, xml.sax, lxml.etree, lxml.sax, POW, POW.pkix, getopt
+
+rng = lxml.etree.RelaxNG(lxml.etree.parse("left-right-schema.rng"))
+
+files = glob.glob("left-right-protocol-samples/*.xml")
+files.sort()
+for f in files:
+ print "\n<!--", f, "-->"
+ handler = rpki.left_right.sax_handler()
+ elt_in = lxml.etree.parse(f).getroot()
+ rng.assertValid(elt_in)
+ lxml.sax.saxify(elt_in, handler)
+ elt_out = handler.result.toXML()
+ rng.assertValid(elt_out)
+ print lxml.etree.tostring(elt_out, pretty_print=True, encoding="us-ascii", xml_declaration=True)