Message ID | 20230517134934.709059-2-lautrbach@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Petr Lautrbach |
Headers | show |
Series | [1/4] python: improve format strings for proper localization | expand |
On 5/17/23 15:49, Petr Lautrbach wrote: > It confuses translators and new lines are dropped by parser module anyway. > > Signed-off-by: Petr Lautrbach <lautrbach@redhat.com> > --- > python/audit2allow/audit2allow | 14 ++++++++--- > python/semanage/semanage | 44 +++++++++++++--------------------- > 2 files changed, 28 insertions(+), 30 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..898df4b93c10 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) > @@ -372,10 +364,10 @@ 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('-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)) > parser_add_seuser(fcontextParser, "fcontext") > parser_add_type(fcontextParser, "fcontext") > @@ -426,9 +418,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 +891,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') python/semanage/semanage 343: ftype_help = ''' could also use some improvements (multiple double/triple spaces and missing spaces after commas). Nitpick: The patch header says "python/semanage", but the patch also touches python/audit2allow. Otherwise LGTM. Vit
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..898df4b93c10 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) @@ -372,10 +364,10 @@ 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('-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)) parser_add_seuser(fcontextParser, "fcontext") parser_add_type(fcontextParser, "fcontext") @@ -426,9 +418,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 +891,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')
It confuses translators and new lines are dropped by parser module anyway. Signed-off-by: Petr Lautrbach <lautrbach@redhat.com> --- python/audit2allow/audit2allow | 14 ++++++++--- python/semanage/semanage | 44 +++++++++++++--------------------- 2 files changed, 28 insertions(+), 30 deletions(-)