From 43a709db36914ec6d4ff3afcc77618c3d40ba0c0 Mon Sep 17 00:00:00 2001 From: Miroslav Grepl Date: Sep 25 2012 17:12:55 +0000 Subject: Use argparse rather than optparse --- diff --git a/segenman b/segenman index 03f30c8..6acd55d 100755 --- a/segenman +++ b/segenman @@ -894,36 +894,33 @@ SELinux policy allows the %s role%s can transition to the %s_r role. if __name__ == '__main__': - os_version = "Fedora18" - path = "/tmp" + import argparse + parser = argparse.ArgumentParser(description='Generate SELinux man pages') - try: - from optparse import OptionParser - parser = OptionParser() - - parser.add_option("-p", "--path", dest="path", default=False, help="Path for SELinux man pages") - parser.add_option("-r", "--version", dest="os_version", default=False, help="Version of OS") - parser.add_option("-l", "--list", dest="domain_list", default=False, help="List of domains") + parser.add_argument("-p", "--path", dest="path", required=True, default="/tmp", help="Path for SELinux man pages") + parser.add_argument("-r", "--version", dest="os_version", default="Fedora18",help="Version of OS") + parser.add_argument("-l", "--list", dest="test_domains", default="", nargs="+", help="List of domains") - (options, args) = parser.parse_args() + try: + args = parser.parse_args() - if options.os_version: - os_version = options.os_version + os_version = args.os_version + path = args.path - if options.path: - path = options.path + print os_version + print path - if options.domain_list: - test_domains = options.domain_list.split(",") - else: + if len(args.test_domains) == 0: test_domains = domains + else: + test_domains = args.test_domains except Exception,e: - print >> sys.stderr, "exception %s: %s" % (e.__class__.__name__, str(e)) - sys.exit(3) + sys.stderr.write("exception %s: %s" % (e.__class__.__name__, str(e))) + sys.exit(1) if not os.path.isdir(path): - print >> sys.stderr, "%s does not exists" % path + sys.stderr.write("%s does not exist" % path) sys.exit(1) for domain in test_domains: