diff options
author | Max <msuraev@sysmocom.de> | 2016-07-29 18:19:25 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2016-07-29 18:23:21 +0200 |
commit | 3ed214c7b0a0780b2ce9ad05c74d05b3e2b43f80 (patch) | |
tree | 7aca2a69b8a14d95103fb2bfa43188fe86d079fd /openbsc/contrib/bsc_control.py | |
parent | 5f0c71b7d5c38dcd5eecd2836a86cb9b4768a759 (diff) |
Improve code re-use
Introduce explicit __main__ function to facilitate re-use of defined
python functions for ctrl interface.
Change-Id: I9bad8f0dd1d69bd28816bf047d85840e3411bb9c
Related: OS#1646
Diffstat (limited to 'openbsc/contrib/bsc_control.py')
-rwxr-xr-x | openbsc/contrib/bsc_control.py | 117 |
1 files changed, 59 insertions, 58 deletions
diff --git a/openbsc/contrib/bsc_control.py b/openbsc/contrib/bsc_control.py index 9dc01e3bf..26a421d0b 100755 --- a/openbsc/contrib/bsc_control.py +++ b/openbsc/contrib/bsc_control.py @@ -44,61 +44,62 @@ def do_get(var, id, sck): getmsg = "GET %s %s" %(options.id, var) send(sck, getmsg) -parser = OptionParser("Usage: %prog [options] var [value]") -parser.add_option("-d", "--host", dest="host", - help="connect to HOST", metavar="HOST") -parser.add_option("-p", "--port", dest="port", type="int", - help="use PORT", metavar="PORT", default=4249) -parser.add_option("-g", "--get", action="store_true", - dest="cmd_get", help="perform GET operation") -parser.add_option("-s", "--set", action="store_true", - dest="cmd_set", help="perform SET operation") -parser.add_option("-i", "--id", dest="id", default="1", - help="set id manually", metavar="ID") -parser.add_option("-v", "--verbose", action="store_true", - dest="verbose", help="be verbose", default=False) -parser.add_option("-m", "--monitor", action="store_true", - dest="monitor", help="monitor the connection for traps", default=False) - -(options, args) = parser.parse_args() - -verbose = options.verbose - -if options.cmd_set and options.cmd_get: - parser.error("Get and set options are mutually exclusive!") - -if not (options.cmd_get or options.cmd_set or options.monitor): - parser.error("One of -m, -g, or -s must be set") - -if not (options.host): - parser.error("Destination host and port required!") - -sock = connect(options.host, options.port) - -if options.cmd_set: - if len(args) < 2: - parser.error("Set requires var and value arguments") - do_set(args[0], ' '.join(args[1:]), options.id, sock) - -if options.cmd_get: - if len(args) != 1: - parser.error("Get requires the var argument") - do_get(args[0], options.id, sock) - -data = sock.recv(1024) -while (len(data)>0): - (answer, data) = remove_ipa_ctrl_header(data) - print "Got message:", answer - -if options.monitor: - while (True): - data = sock.recv(1024) - if len(data) == 0: - print "Connection is gone." - break - - while (len(data)>0): - (answer, data) = remove_ipa_ctrl_header(data) - print "Got message:", answer - -sock.close() +if __name__ == '__main__': + parser = OptionParser("Usage: %prog [options] var [value]") + parser.add_option("-d", "--host", dest="host", + help="connect to HOST", metavar="HOST") + parser.add_option("-p", "--port", dest="port", type="int", + help="use PORT", metavar="PORT", default=4249) + parser.add_option("-g", "--get", action="store_true", + dest="cmd_get", help="perform GET operation") + parser.add_option("-s", "--set", action="store_true", + dest="cmd_set", help="perform SET operation") + parser.add_option("-i", "--id", dest="id", default="1", + help="set id manually", metavar="ID") + parser.add_option("-v", "--verbose", action="store_true", + dest="verbose", help="be verbose", default=False) + parser.add_option("-m", "--monitor", action="store_true", + dest="monitor", help="monitor the connection for traps", default=False) + + (options, args) = parser.parse_args() + + verbose = options.verbose + + if options.cmd_set and options.cmd_get: + parser.error("Get and set options are mutually exclusive!") + + if not (options.cmd_get or options.cmd_set or options.monitor): + parser.error("One of -m, -g, or -s must be set") + + if not (options.host): + parser.error("Destination host and port required!") + + sock = connect(options.host, options.port) + + if options.cmd_set: + if len(args) < 2: + parser.error("Set requires var and value arguments") + do_set(args[0], ' '.join(args[1:]), options.id, sock) + + if options.cmd_get: + if len(args) != 1: + parser.error("Get requires the var argument") + do_get(args[0], options.id, sock) + + data = sock.recv(1024) + while (len(data)>0): + (answer, data) = remove_ipa_ctrl_header(data) + print "Got message:", answer + + if options.monitor: + while (True): + data = sock.recv(1024) + if len(data) == 0: + print "Connection is gone." + break + + while (len(data)>0): + (answer, data) = remove_ipa_ctrl_header(data) + print "Got message:", answer + + sock.close() |