diff options
Diffstat (limited to 'openbsc/contrib')
-rwxr-xr-x | openbsc/contrib/dump_all_docs.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/openbsc/contrib/dump_all_docs.py b/openbsc/contrib/dump_all_docs.py new file mode 100755 index 000000000..314f60bab --- /dev/null +++ b/openbsc/contrib/dump_all_docs.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +""" +Start the process and dump the documentation to the doc dir. This is +copied from the BTS directory and a fix might need to be applied there +too. +""" + +import socket, subprocess, time,os + + +def dump_doc(end, port, filename): + sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sck.setblocking(1) + sck.connect(("localhost", port)) + sck.recv(4096) + + # Now send the command + sck.send("show online-help\r") + xml = "" + while True: + data = sck.recv(4096) + xml = "%s%s" % (xml, data) + if data.endswith(end): + break + + # Now write everything until the end to the file + out = open(filename, 'w') + out.write(xml[18:len(filename)*-1]) + out.close() + + +apps = [ + # The same could be done with an empty config file but this way + # the example files are properly tested. + (4242, "src/osmo-nitb/osmo-nitb", "doc/examples/osmo-nitb/nanobts/openbsc.cfg", "OpenBSC", "nitb"), + (4242, "src/osmo-bsc/osmo-bsc", "doc/examples/osmo-bsc/osmo-bsc.cfg", "OsmoBSC", "bsc"), + (4243, "src/osmo-bsc_mgcp/osmo-bsc_mgcp", "doc/examples/osmo-bsc_mgcp/mgcp.cfg", "OpenBSC MGCP", "mgcp"), + (4244, "src/osmo-bsc_nat/osmo-bsc_nat", "doc/examples/osmo-bsc_nat/osmo-bsc_nat.cfg", "OsmoBSCNAT", "nat"), + (4246, "src/gprs/osmo-gbproxy", "doc/examples/osmo-gbproxy/osmo-gbproxy.cfg", "OsmoGbProxy", "gbproxy"), +] + +# Dump the config of all our apps +for app in apps: + print "Starting app for %s" % app[4] + + cmd = [app[1], "-c", app[2]] + proc = subprocess.Popen(cmd, stdin=None, stdout=None) + time.sleep(1) + try: + dump_doc('\r\n%s> ' % app[3], app[0], 'doc/%s_vty_reference.xml' % app[4]) + finally: + # Clean-up + proc.kill() + proc.wait() + |