mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-26 16:16:31 -06: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:
parent
1289285d49
commit
789cba4378
@ -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'
|
||||
|
Loading…
Reference in New Issue
Block a user