[Freeipa-devel] [PATCH 536] ipapython: remove default_encoding_utf8

Christian Heimes cheimes at redhat.com
Wed Jan 6 11:33:28 UTC 2016


On 2016-01-05 11:30, Tomas Babej wrote:
> 
> 
> On 01/05/2016 08:54 AM, Jan Cholasta wrote:
>> Hi,
>>
>> the attached patch replaces the default_encoding_utf8 binary module with
>> 2 lines of equivalent Python code.
>>
>> Honza
>>
>>
>>
> 
> This looks fine to me, however, I wonder, why this approach was ever
> taken? The sys.setdefaultencoding is available in all versions of Python
> ever supported by FreeIPA.
> 
> Is it possible we're missing something here? Or was this option simply
> overlooked?

sys.setdefaultencoding() is not available unless you use a hack and
reload the sys module. The function is hidden for a very good reason. It
can and will break internal assumption as well as libraries in bad, hard
to detect ways. For example it wreaks havoc on hashing for dicts and sets.

The blog posting
https://anonbadger.wordpress.com/2015/06/16/why-sys-setdefaultencoding-will-break-code/
explains the problem in much greater detail.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20160106/569a0264/attachment.sig>


More information about the Freeipa-devel mailing list