2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-05 00:35:33 +00:00

python: Upgrade daemon module to argparse.

This patch also updates it's callers.
This commit is contained in:
Ethan Jackson
2011-09-26 16:02:26 -07:00
parent ec394dad53
commit b153e66790
9 changed files with 113 additions and 168 deletions

View File

@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import getopt
import argparse
import logging
import signal
import sys
@@ -26,31 +26,22 @@ def handler(signum, _):
raise Exception("Signal handler called with %d" % signum)
def main(argv):
def main():
logging.basicConfig(level=logging.DEBUG)
signal.signal(signal.SIGHUP, handler)
try:
options, args = getopt.gnu_getopt(
argv[1:], 'b', ["bail", "help"] + ovs.daemon.LONG_OPTIONS)
except getopt.GetoptError, geo:
sys.stderr.write("%s: %s\n" % (ovs.util.PROGRAM_NAME, geo.msg))
sys.exit(1)
parser = argparse.ArgumentParser(
description="Open vSwitch daemonization test program for Python.")
parser.add_argument("-b", "--bail", action="store_true",
help="Exit with an error after daemonize_start().")
bail = False
for key, value in options:
if key == '--help':
usage()
elif key in ['-b', '--bail']:
bail = True
elif not ovs.daemon.parse_opt(key, value):
sys.stderr.write("%s: unhandled option %s\n"
% (ovs.util.PROGRAM_NAME, key))
sys.exit(1)
ovs.daemon.add_args(parser)
args = parser.parse_args()
ovs.daemon.handle_args(args)
ovs.daemon.daemonize_start()
if bail:
if args.bail:
sys.stderr.write("%s: exiting after daemonize_start() as requested\n"
% ovs.util.PROGRAM_NAME)
sys.exit(1)
@@ -60,22 +51,9 @@ def main(argv):
time.sleep(1)
def usage():
sys.stdout.write("""\
%s: Open vSwitch daemonization test program for Python
usage: %s [OPTIONS]
""" % ovs.util.PROGRAM_NAME)
ovs.daemon.usage()
sys.stdout.write("""
Other options:
-h, --help display this help message
-b, --bail exit with an error after daemonize_start()
""")
sys.exit(0)
if __name__ == '__main__':
try:
main(sys.argv)
main()
except SystemExit:
# Let system.exit() calls complete normally
raise