박문식
d33aa18f15
gh-82367: Use `FindFirstFile` Win32 API in `ntpath.realpath()` (GH-110298)
...
* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`
breaks out of traversing a series of paths where a (handled)
`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.
* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOS
style names.
2023-10-05 09:49:07 -05:00
Steve Dower
de33b5c662
gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248)
...
* gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls
* Update 2023-08-22-00-36-57.gh-issue-106242.q24ITw.rst
mention Windows and the former incorrect ValueError.
---------
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-08-22 00:16:02 +00:00
Steve Dower
bfd20d257e
gh-104803: Implement ntpath.isdevdrive for checking whether a path is on a Windows Dev Drive (GH-104805)
2023-05-29 10:05:32 +01:00
Barney Gale
b57105ae33
GH-103220: Fix `ntpath.join()` of partial UNC drive with trailing slash (GH-103221)
2023-04-11 17:26:45 +01:00
AN Long
4dc339b4d6
GH-88013: Fix TypeError raised by ntpath.realpath in some cases (GH-102813)
2023-04-07 12:56:00 +01:00
Michael Droettboom
86ebd5c3fa
gh-101196: Make isdir/isfile/exists faster on Windows (GH-101324)
...
Co-authored-by: Eryk Sun <eryksun@gmail.com>
2023-02-08 14:34:24 +00:00
Barney Gale
e5b08ddddf
gh-101000: Add os.path.splitroot() ( #101002 )
...
Co-authored-by: Eryk Sun <eryksun@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-01-27 00:28:27 +00:00
Barney Gale
005e69403d
gh-96290: Support partial/invalid UNC drives in ntpath.normpath() and splitdrive() (GH-100351)
...
This brings the Python implementation of `ntpath.normpath()` in line with the C implementation added in 99fcf15
Co-authored-by: Eryk Sun <eryksun@gmail.com>
2023-01-12 19:24:57 +00:00
Michael Förderer
124ecd6576
bpo-44817: Ignore additional errors in ntpath.realpath (GH-27574)
2022-12-05 17:34:00 +00:00
Charles Machalow
1b2de89bce
gh-99547: Add isjunction methods for checking if a path is a junction (GH-99548)
2022-11-22 17:19:34 +00:00
Steve Dower
de33df27aa
gh-89545: Updates platform module to use new internal _wmi module on Windows to directly query OS properties (GH-96289)
2022-09-07 21:09:20 +01:00
Barney Gale
2ba0fd5767
gh-81790: support "UNC" device paths in `ntpath.splitdrive()` (GH-91882)
2022-06-10 16:59:55 +01:00
AN Long
3256b178ed
bpo-42658: Use LCMapStringEx in ntpath.normcase to match OS behaviour for case-folding (GH-32010)
2022-06-07 00:47:27 +01:00
neonene
d4e64cd4b0
bpo-46362: Ensure ntpath.abspath() uses the Windows API correctly (GH-30571)
...
This makes ntpath.abspath()/getpath_abspath() follow normpath(), since some WinAPIs such as PathCchSkipRoot() require backslashed paths.
2022-01-13 23:35:42 +00:00
Steve Dower
99fcf15052
bpo-45582: Port getpath[p].c to Python (GH-29041)
...
The getpath.py file is frozen at build time and executed as code over a namespace. It is never imported, nor is it meant to be importable or reusable. However, it should be easier to read, modify, and patch than the previous code.
This commit attempts to preserve every previously tested quirk, but these may be changed in the future to better align platforms.
2021-12-03 00:08:42 +00:00
Barney Gale
baecfbd849
bpo-43757: Make pathlib use os.path.realpath() to resolve symlinks in a path (GH-25264)
...
Also adds a new "strict" argument to realpath() to avoid changing the default behaviour of pathlib while sharing the implementation.
2021-04-28 16:50:17 +01:00
Barney Gale
ba1db57198
bpo-39899: Don't double-check directory name if we're requesting the current user's home directory in ntpath.expanduser() (GH-25277)
2021-04-09 22:28:15 +01:00
Barney Gale
3f3d82b848
bpo-39899: os.path.expanduser(): don't guess other Windows users' home directories if the basename of the current user's home directory doesn't match their username. (GH-18841)
...
This makes `ntpath.expanduser()` match `pathlib.Path.expanduser()` in this regard, and is more in line with `posixpath.expanduser()`'s cautious approach.
Also remove the near-duplicate implementation of `expanduser()` in pathlib, and by doing so fix a bug where KeyError could be raised when expanding another user's home directory.
2021-04-07 23:50:13 +01:00
Steve Dower
abde52cd8e
bpo-38453: Ensure ntpath.realpath correctly resolves relative paths (GH-16967)
...
Ensure isabs() is always True for \\?\ prefixed paths
Avoid unnecessary usage of readlink() to avoid resolving broken links incorrectly
Ensure shutil tests run in test directory
2019-11-15 09:49:21 -08:00
Steve Dower
a0e3d27e4e
bpo-38355: Fix ntpath.realpath failing on sys.executable (GH-16551)
2019-10-03 08:31:03 -07:00
Steve Dower
89b8933bb5
bpo-38081: Add more non-fatal error codes for ntpath.realpath (GH-16156)
2019-09-16 15:25:11 +01:00
Steve Dower
92521fea5d
bpo-38081: Fixes ntpath.realpath('NUL') (GH-15899)
2019-09-11 10:48:36 +01:00
Steve Dower
06be2c7f35
bpo-9949: Call normpath() in realpath() and avoid unnecessary prefixes (GH-15369)
2019-08-21 16:45:02 -07:00
Steve Dower
75e064962e
bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)
2019-08-21 13:43:06 -07:00
Wolfgang Maier
74510e2a57
bpo-30427: eliminate redundant type checks in os.path.normcase() (GH-1712)
...
https://bugs.python.org/issue30427
2019-03-28 14:47:18 -07:00
Anthony Sottile
25ec4a45dc
bpo-36264: Don't honor POSIX HOME in os.path.expanduser on Windows (GH-12282)
2019-03-12 08:39:57 -07:00
Tim Graham
d03b775781
bpo-31047: Fix ntpath.abspath to trim ending separator (GH-10082)
...
Regression in b0bf51b322
.
2018-10-25 11:26:37 -04:00
Serhiy Storchaka
0185f34ddc
bpo-33721: Make some os.path functions and pathlib.Path methods be tolerant to invalid paths. ( #7695 )
...
Such functions as os.path.exists(), os.path.lexists(), os.path.isdir(),
os.path.isfile(), os.path.islink(), and os.path.ismount() now return False
instead of raising ValueError or its subclasses UnicodeEncodeError
and UnicodeDecodeError for paths that contain characters or bytes
unrepresentative at the OS level.
2018-09-18 11:28:51 +03:00
Franz Wöllert
d2e902e4fb
bpo-31047: Fix ntpath.abspath for invalid paths (GH-8544)
2018-07-29 13:47:09 +01:00
Serhiy Storchaka
3460198f6b
bpo-31802: Fix importing native path module before importing os. ( #4017 )
2018-01-07 17:54:31 +02:00
Serhiy Storchaka
9ed707eb4c
Issue #29197 : Removed deprecated function ntpath.splitunc().
2017-01-13 20:55:05 +02:00
Larry Hastings
10108a7b9a
Issue #27355 : Removed support for Windows CE. It was never finished,
...
and Windows CE is no longer a relevant platform for Python.
2016-09-05 15:11:23 -07:00
Brett Cannon
3f9183b5ac
Issue #26027 , #27524 : Add PEP 519/__fspath__() support to os and
...
os.path.
Thanks to Jelle Zijlstra for the initial patch against posixmodule.c.
2016-08-26 14:44:48 -07:00
Martin Panter
6245cb3c01
Correct “an” → “a” with “Unicode”, “user”, “UTF”, etc
...
This affects documentation, code comments, and a debugging messages.
2016-04-15 02:14:19 +00:00
Serhiy Storchaka
5bfc03f430
Issue #23780 : Improved error message in os.path.join() with single argument.
...
Idea by R. David Murray.
2015-05-19 11:00:07 +03:00
Serhiy Storchaka
3822093143
Issue #10395 : Added os.path.commonpath(). Implemented in posixpath and ntpath.
...
Based on patch by Rafik Draoui.
2015-03-31 15:31:53 +03:00
Serhiy Storchaka
b20f905f6d
Issue #23742 : ntpath.expandvars() no longer loses unbalanced single quotes.
2015-03-25 16:41:15 +02:00
Serhiy Storchaka
1b87ae0c91
Issue #23742 : ntpath.expandvars() no longer loses unbalanced single quotes.
2015-03-25 16:40:15 +02:00
Serhiy Storchaka
e4f47088af
Fixed tests on Windows for issue #21883 .
2014-10-04 16:09:02 +03:00
Serhiy Storchaka
3deeeb0c39
Issue #21883 : os.path.join() and os.path.relpath() now raise a TypeError with
...
more helpful error message for unsupported or mismatched types of arguments.
2014-10-04 14:58:43 +03:00
Serhiy Storchaka
8518b79a8d
Issue #15275 : Clean up and speed up the ntpath module.
2014-07-23 20:43:13 +03:00
Serhiy Storchaka
7dfaa27fdd
Issue #6815 : os.path.expandvars() now supports non-ASCII environment
...
variables names and values.
2014-02-13 10:14:48 +02:00
Serhiy Storchaka
dbb101909d
Issue #6815 : os.path.expandvars() now supports non-ASCII environment
...
variables names and values.
2014-02-13 10:13:53 +02:00
Serhiy Storchaka
f5d2f22475
Issue #19456 : ntpath.join() now joins relative paths correctly when a drive
...
is present.
2014-01-27 23:16:28 +02:00
Serhiy Storchaka
c369c2c688
Issue #19456 : ntpath.join() now joins relative paths correctly when a drive
...
is present.
2014-01-27 23:15:14 +02:00
Serhiy Storchaka
cc83b0c8f6
Issue #19912 : Fixed numerous bugs in ntpath.splitunc().
...
* splitunc() no more return illegal result for paths with redundant slashes.
* splitunc() now correctly processes the 'İ' character
(U+0130, LATIN CAPITAL LETTER I WITH DOT ABOVE).
* Deprecation warnings now emitted for every use of splitunc().
* Added tests for splitunc().
2013-12-16 15:14:19 +02:00
Serhiy Storchaka
593568bf47
Issue #19912 : Fixed numerous bugs in ntpath.splitunc().
...
* splitunc() no more return illegal result for paths with redundant slashes.
* splitunc() now correctly processes the 'İ' character
(U+0130, LATIN CAPITAL LETTER I WITH DOT ABOVE).
* Deprecation warnings now emitted for every use of splitunc().
* Added tests for splitunc().
2013-12-16 15:13:28 +02:00
Serhiy Storchaka
f5ad91c392
Issue #19911 : ntpath.splitdrive() now correctly processes the 'İ' character
...
(U+0130, LATIN CAPITAL LETTER I WITH DOT ABOVE).
2013-12-16 14:36:10 +02:00
Serhiy Storchaka
3d7e11520e
Issue #19911 : ntpath.splitdrive() now correctly processes the 'İ' character
...
(U+0130, LATIN CAPITAL LETTER I WITH DOT ABOVE).
2013-12-16 14:34:55 +02:00
Tim Golden
6b528067c5
Issue #9035 : os.path.ismount now recognises volumes mounted below
...
a drive root on Windows. Original patch by Atsuo Ishimoto.
2013-08-01 12:44:00 +01:00