[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-16 Thread STINNER Victor

STINNER Victor victor.stin...@haypocalc.com added the comment:

changeset:   74002:279b0aee0cfb
user:Victor Stinner victor.stin...@haypocalc.com
date:Fri Dec 16 23:56:01 2011 +0100
files:   Doc/c-api/unicode.rst Include/unicodeobject.h 
Modules/_localemodule.c Modules/main.c Modules/timemodule.c
description:
Add PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale()

 * PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale() decode a string
   from the current locale encoding
 * _Py_char2wchar() writes an error code in the size argument to indicate
   if the function failed because of memory allocation failure or because of a
   decoding error. The function doesn't write the error message directly to
   stderr.
 * Fix time.strftime() (if wcsftime() is missing): decode strftime() result
   from the current locale encoding, not from the filesystem encoding.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-16 Thread Roundup Robot

Roundup Robot devn...@psf.upfronthosting.co.za added the comment:

New changeset 88198b93ff2f by Victor Stinner in branch 'default':
Issue #13560: Add PyUnicode_EncodeLocale()
http://hg.python.org/cpython/rev/88198b93ff2f

New changeset 51412b4b81ae by Victor Stinner in branch 'default':
Issue #13560: os.strerror() now uses the current locale encoding instead of 
UTF-8
http://hg.python.org/cpython/rev/51412b4b81ae

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-16 Thread Roundup Robot

Roundup Robot devn...@psf.upfronthosting.co.za added the comment:

New changeset 07802351ccad by Victor Stinner in branch 'default':
Issue #13560: Locale codec functions use the classic errors parameter,
http://hg.python.org/cpython/rev/07802351ccad

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-16 Thread STINNER Victor

STINNER Victor victor.stin...@haypocalc.com added the comment:

Ok, I think that the current code is good enough to close the issue. I opened a 
more global issue about the Python codec: #13619.

--
resolution:  - fixed
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-09 Thread Stefan Krah

Changes by Stefan Krah stefan-use...@bytereef.org:


--
nosy: +skrah

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-09 Thread STINNER Victor

STINNER Victor victor.stin...@haypocalc.com added the comment:

I fixed issue #5905 (strptime fails in non-UTF locale). The fix is not enough 
if the locale is changed in Python.

Update the patch to fix time.strftime() (if wcsftime() is not available).

--
Added file: http://bugs.python.org/file23894/pyunicode_decodelocale-2.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-08 Thread STINNER Victor

New submission from STINNER Victor victor.stin...@haypocalc.com:

To decode byte string from the locale encoding (LC_CTYPE), 
PyUnicode_DecodeFSDefault() can be used, but this function uses a constant 
encoding set at startup (the locale encoding at startup). The right method is 
currently to call _Py_char2wchar() and then PyUnicode_FromWideChar(). 
_Py_char2wchar() is a low level function, it doesn't raise nice Python 
exception, but just return NULL on error and write a message to stderr using 
fprintf() (!).

Attached patch adds PyUnicode_DecodeLocale() and 
PyUnicode_DecodeLocaleAndSize() to offer a high level API to decode data from 
the *current* locale encoding. These functions fail with an OSError  or 
MemoryError if decoding fails (instead of a generic ValueError), and don't 
write to stderr anymore. They are a surrogateescape argument to choose to 
escape undecodable bytes or to fail with an error.

The patch only uses the function in _localemodule.c, but other functions may 
have to be fixed to use the new function. The tzname_encoding.patch of issue 
#5905 should maybe use it for example.

--
components: Unicode
messages: 149060
nosy: ezio.melotti, haypo, loewis
priority: normal
severity: normal
status: open
title: Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize
versions: Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue13560] Add PyUnicode_DecodeLocale and PyUnicode_DecodeLocaleAndSize

2011-12-08 Thread STINNER Victor

Changes by STINNER Victor victor.stin...@haypocalc.com:


--
keywords: +patch
Added file: http://bugs.python.org/file23886/pyunicode_decodelocale.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13560
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com