From d84b9d30c33dbc8ff3240059cf68395a8537dbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Sun, 13 Mar 2005 22:18:26 +0000 Subject: Backport of change to os.access to encode Unicode file names with the file system encoding. --- Lib/test/test_unicode_file.py | 2 ++ Misc/NEWS | 5 +++++ Modules/posixmodule.c | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_unicode_file.py b/Lib/test/test_unicode_file.py index 87f73ac..6443efd 100644 --- a/Lib/test/test_unicode_file.py +++ b/Lib/test/test_unicode_file.py @@ -44,8 +44,10 @@ class TestUnicodeFiles(unittest.TestCase): def _do_single(self, filename): self.failUnless(os.path.exists(filename)) self.failUnless(os.path.isfile(filename)) + self.failUnless(os.access(filename, os.R_OK)) self.failUnless(os.path.exists(os.path.abspath(filename))) self.failUnless(os.path.isfile(os.path.abspath(filename))) + self.failUnless(os.access(os.path.abspath(filename), os.R_OK)) os.chmod(filename, 0777) os.utime(filename, None) os.utime(filename, (time.time(), time.time())) diff --git a/Misc/NEWS b/Misc/NEWS index b8b8a9c..fa88cad 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -29,6 +29,11 @@ Tests name returned by socket.gethostname() a valid return value for getfqdn(). Also clarified the wording of docs and docstring that this is the case. +Extensions Modules +------------------ + +- os.access now supports Unicode path names on non-Win32 systems. + What's New in Python 2.4.1c1? ============================= diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index b577ba9..2ee6a37 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1113,7 +1113,8 @@ posix_access(PyObject *self, PyObject *args) PyErr_Clear(); } #endif - if (!PyArg_ParseTuple(args, "si:access", &path, &mode)) + if (!PyArg_ParseTuple(args, "eti:access", + Py_FileSystemDefaultEncoding, &path, &mode)) return NULL; Py_BEGIN_ALLOW_THREADS res = access(path, mode); -- cgit v0.12