[openstack-dev] Use of local()

Mark McLoughlin markmc at redhat.com
Thu Feb 7 20:32:31 UTC 2013


On Thu, 2013-02-07 at 12:15 -0800, Joe Gordon wrote:
> i18n support prevents us from doing something like:
> 
> 
> _("The server with id %()s has no key %s" % (s_id, m_key))
> 
> Because translations my reverse the sentence structures.  So the two
> options are:
> 
> 
> _("The server with id %(s_id)s has no key %(m_key)s" % locals())
> 
> and
> 
> 
> msg = _("The server with id %(s_id)s has no key %(m_key)s")
> LOG.error(msg % {"s_id": "1234", "m_key": "imageId"})
> 
> 
> https://github.com/openstack/nova/blob/master/HACKING.rst#internationalization-i18n-strings

I really disklike the use of locals().

A nicer option is:

  _("The server with id %(s_id)s has no key %(m_key)s") % dict(s_id="1234", m_key="imageId")

Cheers,
Mark.

> On Thu, Feb 7, 2013 at 11:49 AM, Jay Pipes <jaypipes at gmail.com> wrote:
> 
> > I actually prefer the use of locals()... I find it cleaner that
> > specifying huge dictionaries to supply for string interpolation.
> >
> > -jay
> >
> > On 02/07/2013 02:33 PM, Andrew Laski wrote:
> > > On 02/07/13 at 10:23am, Nachi Ueno wrote:
> > >> Hi folks
> > >>
> > >> I wanna ask the opinion of use of local()
> > >> This function is mainly used for logging because of no need to specify
> > >> actual parameters.
> > >>
> > >> However, the variable ,which code checker says it is not used, is used
> > >> by local() sometimes.
> > >> so I prefer not to use local() .
> > >> I also believe to specify used parameter improves readability of the
> > code.
> > >
> > > I agree.  I prefer the explicitness of passing variables to string
> > > interpolation, and my style checker also picks up the variables which it
> > > thinks are not used.
> > >
> > > I would support a check in hacking.py for this in Nova but personally
> > > don't think reviewers should spend time worrying about it.  Which means
> > > that I think it's an uphill battle for projects without something like
> > > hacking.py.
> > >
> > >
> > >>
> > >> I appreciate if I could get the opinion on the community.
> > >>
> > >> Thanks
> > >> Nachi
...




More information about the OpenStack-dev mailing list