[selinux-policy/f18] Add OptionParser for segenman
Miroslav Grepl
mgrepl at fedoraproject.org
Tue Sep 25 08:22:14 UTC 2012
commit 234c76419c740c50e033bf44bfe91fa36df7ab47
Author: Miroslav Grepl <mgrepl at redhat.com>
Date: Tue Sep 25 10:21:18 2012 +0200
Add OptionParser for segenman
segenman | 42 ++++++++++++++++++++++++++++++++++++------
1 files changed, 36 insertions(+), 6 deletions(-)
---
diff --git a/segenman b/segenman
index 101bbd8..03f30c8 100755
--- a/segenman
+++ b/segenman
@@ -28,6 +28,7 @@ import datetime
import setools
import commands
import sys
+import os
import xml.etree.ElementTree
modules_dict = {}
@@ -152,9 +153,10 @@ def prettyprint(f,trim):
return " ".join(f[:-len(trim)].split("_"))
class ManPage:
- def __init__(self, domainname, path="/tmp"):
+ def __init__(self, domainname, path, os_version):
self.domainname = domainname
self.short_name = domainname
+ self.os_version = os_version
self.type = self.domainname + "_t"
self.fd = open("%s/%s_selinux.8" % (path, domainname), 'w')
if domainname in roles:
@@ -891,11 +893,39 @@ SELinux policy allows the %s role%s can transition to the %s_r role.
""" % (", ".join(troles), plural, self.domainname))
if __name__ == '__main__':
- if len(sys.argv) > 2:
- test_domains = sys.argv[2:]
- else:
- test_domains = domains
+
+ os_version = "Fedora18"
+ path = "/tmp"
+
+ 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")
+
+ (options, args) = parser.parse_args()
+
+ if options.os_version:
+ os_version = options.os_version
+
+ if options.path:
+ path = options.path
+
+ if options.domain_list:
+ test_domains = options.domain_list.split(",")
+ else:
+ test_domains = domains
+
+ except Exception,e:
+ print >> sys.stderr, "exception %s: %s" % (e.__class__.__name__, str(e))
+ sys.exit(3)
+
+ if not os.path.isdir(path):
+ print >> sys.stderr, "%s does not exists" % path
+ sys.exit(1)
for domain in test_domains:
print domain
- ManPage(domain, sys.argv[1])
+ ManPage(domain, path, os_version)
More information about the scm-commits
mailing list