Kaydet (Commit) d84b9d30 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Backport of change to os.access to encode Unicode file names with

the file system encoding.
üst d4f78f3c
...@@ -44,8 +44,10 @@ class TestUnicodeFiles(unittest.TestCase): ...@@ -44,8 +44,10 @@ class TestUnicodeFiles(unittest.TestCase):
def _do_single(self, filename): def _do_single(self, filename):
self.failUnless(os.path.exists(filename)) self.failUnless(os.path.exists(filename))
self.failUnless(os.path.isfile(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.exists(os.path.abspath(filename)))
self.failUnless(os.path.isfile(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.chmod(filename, 0777)
os.utime(filename, None) os.utime(filename, None)
os.utime(filename, (time.time(), time.time())) os.utime(filename, (time.time(), time.time()))
......
...@@ -29,6 +29,11 @@ Tests ...@@ -29,6 +29,11 @@ Tests
name returned by socket.gethostname() a valid return value for getfqdn(). name returned by socket.gethostname() a valid return value for getfqdn().
Also clarified the wording of docs and docstring that this is the case. 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? What's New in Python 2.4.1c1?
============================= =============================
......
...@@ -1113,7 +1113,8 @@ posix_access(PyObject *self, PyObject *args) ...@@ -1113,7 +1113,8 @@ posix_access(PyObject *self, PyObject *args)
PyErr_Clear(); PyErr_Clear();
} }
#endif #endif
if (!PyArg_ParseTuple(args, "si:access", &path, &mode)) if (!PyArg_ParseTuple(args, "eti:access",
Py_FileSystemDefaultEncoding, &path, &mode))
return NULL; return NULL;
Py_BEGIN_ALLOW_THREADS Py_BEGIN_ALLOW_THREADS
res = access(path, mode); res = access(path, mode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment