[openstack-dev] [ironic] Translations removal
Doug Hellmann
doug at doughellmann.com
Thu Mar 30 18:36:44 UTC 2017
Excerpts from Sean McGinnis's message of 2017-03-22 10:44:05 -0500:
> On Wed, Mar 22, 2017 at 08:42:42AM -0500, Kevin L. Mitchell wrote:
> > On Tue, 2017-03-21 at 22:10 +0000, Taryma, Joanna wrote:
> > > However, pep8 does not accept passing variable to translation
> > > functions, so this results in ‘H701 Empty localization string’ error.
> > >
> > > Possible options to handle that:
> > >
> > > 1) Duplicate messages:
> > >
> > > LOG.error(“<error message>”, {<key>: <val>})
> > >
> > > raise Exception(_(“<error message>”) % {<key>: <val>})
> > >
> > > 2) Ignore this error
> > >
> > > 3) Talk to hacking people about possible upgrade of this check
> > >
> > > 4) Pass translated text to LOG in such cases
> > >
> > >
> > >
> > > I’d personally vote for 2. What are your thoughts?
> >
> > When the translators go to translate, they generally only get to see
> > what's inside _(), so #2 is a no-go for translations, and #3 also is a
> > no-go.
> > --
>
> I think the appropriate thing here is to do something like:
>
> msg = _('<error message>') % {<key>: <val>}
> LOG.error(msg)
> raise Exception(msg)
>
> This results in a translated string going to the log, but I think that's
> OK.
>
Why is the error being logged and then thrown? If it's a true exception,
won't the outer-most part of the application loop log the error? And if
it's something that the application is catching and handling, that makes
it seem like it's not an operator-facing error.
Doug
More information about the OpenStack-dev
mailing list