This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author frankmillman
Recipients frankmillman
Date 2010-01-13.07:46:57
SpamBayes Score 1.0606416e-07
Marked as misclassified No
Message-id <1263368820.05.0.872831790778.issue7688@psf.upfronthosting.co.za>
In-reply-to
Content
At the top of my program I have 'from __future__ import unicode_literals'.

The relevant lines from my program read -
    from multiprocessing.managers import BaseManager
    class MyManager(BaseManager): pass
    MyManager.register('my_function', my_function)

In multiprocessing.managers.py, the following lines are executed -

605 @classmethod
606 def register(cls, typeid, ...)
        [...]
632     def temp(...):
            [...]
642     temp.__name__ = typeid

At this point, Python raises the exception
    TypeError: __name__ must be set to a string object

I can fix it by changing my last line to -
    MyManager.register(str('my_function'), my_function)

Is it possible to allow __name__ to be a unicode object?

If not, may I suggest that line 642 of managers.py is changed to -
        temp.__name__ = str(typeid)

Frank Millman
History
Date User Action Args
2010-01-13 07:47:01frankmillmansetrecipients: + frankmillman
2010-01-13 07:47:00frankmillmansetmessageid: <1263368820.05.0.872831790778.issue7688@psf.upfronthosting.co.za>
2010-01-13 07:46:58frankmillmanlinkissue7688 messages
2010-01-13 07:46:57frankmillmancreate