Author vstinner
Recipients lemburg, loewis, vstinner
Date 2010-08-13.01:47:34
SpamBayes Score 2.00991e-05
Marked as misclassified No
Message-id <1281664056.8.0.177000394356.issue9542@psf.upfronthosting.co.za>
In-reply-to
Content
Lib/os.py may also be patched to add a Python implementation. Eg.

def fsdecode(value):
    if isinstance(value, str):
        return value
    elif isinstance(value, bytes):
        encoding = sys.getfilesystemencoding()
        if encoding == 'mbcs':
            return value.decode(encoding)
        else:
            return value.decode(encoding, 'surrogateescape')
    else:
        raise TypeError("expect bytes or str, not %s" % type(value).__name__)

--

Note: Solution (1) (use bytes API) is not deprecated by this issue. PyUnicode_FSConverter is still useful if the underlying library has a bytes API (eg. OpenSSL only supports char*).

Solution (2) is preferred if we have access to a character API, eg. Windows wide character API.
History
Date User Action Args
2010-08-13 01:47:37vstinnersetrecipients: + vstinner, lemburg, loewis
2010-08-13 01:47:36vstinnersetmessageid: <1281664056.8.0.177000394356.issue9542@psf.upfronthosting.co.za>
2010-08-13 01:47:35vstinnerlinkissue9542 messages
2010-08-13 01:47:35vstinnercreate