diff mbox series

[2/4] python/semanage: Drop hard formating from localized strings

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

Commit Message

Petr Lautrbach May 17, 2023, 1:49 p.m. UTC
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(-)

Comments

Vit Mojzis June 6, 2023, 3:20 p.m. UTC | #1
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 mbox series

Patch

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')