From: Petr Lautrbach <plautrba@redhat.com>
To: Daniel Burgener <dburgener@linux.microsoft.com>,
Vit Mojzis <vmojzis@redhat.com>,
selinux@vger.kernel.org
Subject: Re: [PATCH] gettext: handle unsupported languages properly
Date: Wed, 29 Jun 2022 15:52:31 +0200 [thread overview]
Message-ID: <87tu83r2zk.fsf@redhat.com> (raw)
In-Reply-To: <871qvasere.fsf@redhat.com>
Petr Lautrbach <plautrba@redhat.com> writes:
> Daniel Burgener <dburgener@linux.microsoft.com> writes:
>
>> On 6/24/2022 1:27 PM, Vit Mojzis wrote:
>>>
>>>
>>> On 6/24/22 18:37, Daniel Burgener wrote:
>>>> On 6/24/2022 10:24 AM, Vit Mojzis wrote:
>>>>> With "fallback=True" gettext.translation behaves the same as
>>>>> gettext.install and uses NullTranslations in case the
>>>>> translation file for given language was not found (as opposed to
>>>>> throwing an exception).
>>>>>
>>>>> Fixes:
>>>>> # LANG is set to any "unsupported" language, e.g. en_US.UTF-8
>>>>> $ chcat --help
>>>>> Traceback (most recent call last):
>>>>> File "/usr/bin/chcat", line 39, in <module>
>>>>> t = gettext.translation(PROGNAME,
>>>>> File "/usr/lib64/python3.9/gettext.py", line 592, in translation
>>>>> raise FileNotFoundError(ENOENT,
>>>>> FileNotFoundError: [Errno 2] No translation file found for domain:
>>>>> 'selinux-python'
>>>>>
>>>>> Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
>>>>> ---
[...]
>>>>
>>>> Isn't the point of the overall change that gettext.translation()
>>>> doesn't throw an exception anymore? So we don't need to handle
>>>> OSError/IOError here once fallback=True. I see that this standardizes
>>>> with the other call sites, but I wonder if standardizing on the more
>>>> specific exceptions (or just leaving as is) wouldn't be better?
>>>
>>> Yes, we do not need to handle OSError/IOError exceptions any more.
>>> I agree that standardizing on the more specific exception handling would
>>> be more proper. However, translation handling is probably the least
>>> important feature of this tool (most people probably use it in English
>>> and those who don't wish they did) -- we don't want people to be unable
>>> to use the tool at all because of some translation issue and "catch all"
>>> exception handling is the easiest way to avoid that.
>>> As this bug showed, not settling on a single approach is probably the
>>> worst alternative (I tested the previous patch with multiple tools, but
>>> apparently missed the one that was different).
>>>
>>> That being said, either approach is fine by me. Please let me know if I
>>> should change the patch.
>>> Vit
>>
>> Well, I'll leave questions of what you *should* do up to the
>> maintainers, but I think as far as I'm concerned your point that we
>> really don't want to fail hard on translations makes a lot of sense (and
>> I definitely agree that inconsistency is a pretty bad alternative. So
>> I'm on board with this approach. I was initially worried about "what if
>> in some future version gettext adds an exception?", but to your point,
>> we want the same fallback logic in that case, so the general except
>> seems reasonable.
>>
>> Reviewed-by: Daniel Burgener <dburgener@linux.microsoft.com>
>>
>
> Thanks!
>
> Acked-by: Petr Lautrbach <plautrba@redhat.com>
>
>
Merged.
prev parent reply other threads:[~2022-06-29 13:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-24 14:24 [PATCH] gettext: handle unsupported languages properly Vit Mojzis
2022-06-24 16:37 ` Daniel Burgener
2022-06-24 17:27 ` Vit Mojzis
2022-06-25 2:09 ` Daniel Burgener
2022-06-27 8:16 ` Petr Lautrbach
2022-06-29 13:52 ` Petr Lautrbach [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tu83r2zk.fsf@redhat.com \
--to=plautrba@redhat.com \
--cc=dburgener@linux.microsoft.com \
--cc=selinux@vger.kernel.org \
--cc=vmojzis@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox