Problem with mixing doctest with gettext _()
Peter Otten
__peter__ at web.de
Fri Feb 27 11:44:24 EST 2004
Pierre Rouleau wrote:
> Skip Montanaro wrote:
>
>> If you really want a dummy _() you can also stuff your version into
>> builtins:
>>
>> >>> import __builtin__
>> >>> def foo(s): return s
>> ...
>> >>> __builtin__._ = foo
>> >>> _
>> <function foo at 0x1d6670>
>> >>> _("hi")
>> 'hi'
>
> I tried that, but it only works for the first call...
Setting __builtin__._ to the result of the last calculation is a side effect
of sys.displayhook. Therefore you need to change that too:
Python 2.3.3 (#1, Jan 3 2004, 13:57:08)
[GCC 3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> def mydisplayhook(a):
... if a is not None: sys.stdout.write("%r\n" % a)
...
>>> def foo(s): return s
...
>>> sys.displayhook = mydisplayhook
>>> import __builtin__
>>> __builtin__._ = foo
>>> _("hi")
'hi'
>>> _("hello")
'hello'
>>>
Peter
More information about the Python-list
mailing list