mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2026-08-13 06:25:00 -05:00
fix bug 570392, command help traceback
As a consequence of using doc=_('some message') the _()
method was returning a Gettext instance, thus when optparse
was handed the help text it received a Gettext instance instead
of a basestring. optparse tried to operate on the Gettext instance
as if it were a basestring and since it wasn't threw an exception.
The fix is to promote (e.g. cast) the option.doc to unicode.
If the option.doc was a str it becomes unicode, if it was unicode
nothing happens, if it was Gettext (or any other object implementing
the __unicode__() method) object is converted to unicode via the
objects rules.
By the way, while debugging this I discovered strings which were not
localized, sometimes option.doc would be a str and sometimes a Gettext
object. In a subsequent patch I'll fix all those unlocalized doc
strings, but I don't want to bury this fix along with a load of
string fixes.
This commit is contained in:
committed by
Rob Crittenden
parent
1289285d49
commit
789cba4378
+1
-1
@@ -828,7 +828,7 @@ class cli(backend.Executioner):
|
||||
for option in cmd.options():
|
||||
kw = dict(
|
||||
dest=option.name,
|
||||
help=option.doc,
|
||||
help=unicode(option.doc),
|
||||
)
|
||||
if option.password and self.env.interactive:
|
||||
kw['action'] = 'store_true'
|
||||
|
||||
Reference in New Issue
Block a user