It confuses translators and new lines are dropped by parser module anyway. Signed-off-by: Petr Lautrbach <lautrbach@xxxxxxxxxx> --- python/audit2allow/audit2allow | 14 ++++++-- python/semanage/semanage | 60 +++++++++++++--------------------- 2 files changed, 34 insertions(+), 40 deletions(-) diff --git a/python/audit2allow/audit2allow b/python/audit2allow/audit2allow index 5587a2dbb006..35b0b151ac86 100644 --- a/python/audit2allow/audit2allow +++ b/python/audit2allow/audit2allow @@ -234,9 +234,17 @@ class AuditToPolicy: print(e) sys.exit(1) - sys.stdout.write(_("******************** IMPORTANT ***********************\n")) - sys.stdout.write((_("To make this policy package active, execute:" + - "\n\nsemodule -i %s\n\n") % packagename)) + sys.stdout.write( +"""******************** {important} *********************** +{text} + +semodule -i {packagename} + +""".format( + important=_("IMPORTANT"), + text=_("To make this policy package active, execute:"), + packagename=packagename +)) def __output_audit2why(self): import selinux diff --git a/python/semanage/semanage b/python/semanage/semanage index e0bd98a95c77..4fdb490f7df4 100644 --- a/python/semanage/semanage +++ b/python/semanage/semanage @@ -238,30 +238,22 @@ def parser_add_level(parser, name): def parser_add_range(parser, name): - parser.add_argument('-r', '--range', default='', - help=_(''' -MLS/MCS Security Range (MLS/MCS Systems only) -SELinux Range for SELinux login mapping -defaults to the SELinux user record range. -SELinux Range for SELinux user defaults to s0. -''')) + parser.add_argument('-r', '--range', default='', help=_( + "MLS/MCS Security Range (MLS/MCS Systems only) SELinux Range for SELinux login mapping defaults to the SELinux user record range. \ +SELinux Range for SELinux user defaults to s0." + )) def parser_add_proto(parser, name): - parser.add_argument('-p', '--proto', help=_(''' - Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol - version for the specified node (ipv4|ipv6). -''')) + parser.add_argument('-p', '--proto', help=_( + "Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol version for the specified node (ipv4|ipv6)." + )) def parser_add_subnet_prefix(parser, name): - parser.add_argument('-x', '--subnet_prefix', help=_(''' - Subnet prefix for the specified infiniband ibpkey. -''')) + parser.add_argument('-x', '--subnet_prefix', help=_('Subnet prefix for the specified infiniband ibpkey.')) def parser_add_ibdev_name(parser, name): - parser.add_argument('-z', '--ibdev_name', help=_(''' - Name for the specified infiniband end port. -''')) + parser.add_argument('-z', '--ibdev_name', help=_("Name for the specified infiniband end port.")) def parser_add_modify(parser, name): parser.add_argument('-m', '--modify', dest='action', action='store_const', const='modify', help=_("Modify a record of the %s object type") % name) @@ -348,15 +340,6 @@ def handleFcontext(args): def setupFcontextParser(subparsers): - ftype_help = ''' -File Type. This is used with fcontext. Requires a file type -as shown in the mode field by ls, e.g. use d to match only -directories or f to match only regular files. The following -file type options can be passed: -f (regular file),d (directory),c (character device), -b (block device),s (socket),l (symbolic link),p (named pipe) -If you do not specify a file type, the file type will default to "all files". -''' generate_usage = generate_custom_usage(usage_fcontext, usage_fcontext_dict) fcontextParser = subparsers.add_parser('fcontext', usage=generate_usage, help=_("Manage file context mapping definitions")) parser_add_locallist(fcontextParser, "fcontext") @@ -372,11 +355,16 @@ If you do not specify a file type, the file type will default to "all files". parser_add_extract(fcontext_action, "fcontext") parser_add_deleteall(fcontext_action, "fcontext") - fcontextParser.add_argument('-e', '--equal', help=_('''Substitute target path with sourcepath when generating default - label. This is used with fcontext. Requires source and target - path arguments. The context labeling for the target subtree is - made equivalent to that defined for the source.''')) - fcontextParser.add_argument('-f', '--ftype', default="", choices=["a", "f", "d", "c", "b", "s", "l", "p"], help=_(ftype_help)) + fcontextParser.add_argument('-e', '--equal', help=_( + 'Substitute target path with sourcepath when generating default label. This is used with fcontext. Requires source and target \ +path arguments. The context labeling for the target subtree is made equivalent to that defined for the source.' + )) + fcontextParser.add_argument('-f', '--ftype', default="", choices=["a", "f", "d", "c", "b", "s", "l", "p"], help=_( + 'File Type. This is used with fcontext. Requires a file type as shown in the mode field by ls, e.g. use d to match only \ +directories or f to match only regular files. The following file type options can be passed: f (regular file), d (directory), \ +c (character device), b (block device), s (socket), l (symbolic link), p (named pipe). \ +If you do not specify a file type, the file type will default to "all files".' + )) parser_add_seuser(fcontextParser, "fcontext") parser_add_type(fcontextParser, "fcontext") parser_add_range(fcontextParser, "fcontext") @@ -426,9 +414,7 @@ def setupUserParser(subparsers): parser_add_range(userParser, "user") userParser.add_argument('-R', '--roles', default=[], action=CheckRole, - help=_(''' -SELinux Roles. You must enclose multiple roles within quotes, separate by spaces. Or specify -R multiple times. -''')) + help=_("SELinux Roles. You must enclose multiple roles within quotes, separate by spaces. Or specify -R multiple times.")) userParser.add_argument('-P', '--prefix', default="user", help=argparse.SUPPRESS) userParser.add_argument('selinux_name', nargs='?', default=None, help=_('selinux_name')) userParser.set_defaults(func=handleUser) @@ -901,9 +887,9 @@ def setupImportParser(subparsers): def createCommandParser(): commandParser = seParser(prog='semanage', formatter_class=argparse.ArgumentDefaultsHelpFormatter, - description='''semanage is used to configure certain elements - of SELinux policy with-out requiring modification - to or recompilation from policy source.''') + description=_( + "semanage is used to configure certain elements of SELinux policy with-out requiring modification or recompilation from policy source." + )) #To add a new subcommand define the parser for it in a function above and call it here. subparsers = commandParser.add_subparsers(dest='subcommand') -- 2.41.0.rc2