Commit Graph

138 Commits

Author SHA1 Message Date
Sebastian Rittau 371c970886
gh-114709: Fix exceptions raised by posixpath.commonpath (#114710)
Fix the exceptions raised by posixpath.commonpath

Raise ValueError, not IndexError when passed an empty iterable. Raise
TypeError, not ValueError when passed None.
2024-02-18 00:24:58 -08: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
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
Christoph Anton Mitterer 367f552129
gh-96192: fix os.ismount() to use a path that is str or bytes (#96194)
Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
Co-authored-by: Eryk Sun <eryksun@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-11-13 20:12:32 -08:00
Serhiy Storchaka cc9160a29b
gh-91838: Resolve more HTTP links which redirect to HTTPS (GH-95650) 2022-08-08 14:00:17 +03:00
Christian Heimes ca9689f8da
bpo-46933: Make pwd module optional (GH-31700)
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2022-03-07 13:36:47 +01: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
Furkan Onder 66c5853406
bpo-26329: update os.path.normpath documentation (GH-20138)
* bpo-26329: update os.path.normpath documentation

* Update os.path.rst

* Update posixpath.py

* update Pathname Resolution note
2021-07-12 09:48:01 -03: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
pxinwr 75dabfe7a8
bpo-31904: posixpath.expanduser() handles None user home on VxWorks (GH-23530) 2020-12-17 20:22:29 +01:00
Victor Stinner 2c4c02f8a8
bpo-35755: Remove current directory from posixpath.defpath (GH-11586)
Document the change in a NEWS entry of the Security category.
2019-04-17 17:05:30 +02: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
Victor Stinner d7538dd5e3
bpo-35471: Remove the macpath module (GH-11129)
Python 2.4 dropped MacOS 9 support. The macpath module was deprecated
in Python 3.7. This change removes it.
2018-12-14 13:37:26 +01:00
Victor Stinner f2f4555d82
bpo-10496: posixpath.expanduser() catchs pwd.getpwuid() error (GH-10919)
* posixpath.expanduser() now returns the input path unchanged if
  the HOME environment variable is not set and pwd.getpwuid() raises
  KeyError (the current user identifier doesn't exist in the password
  database).
* Add test_no_home_directory() to test_site.
2018-12-05 16:49:35 +01: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
Serhiy Storchaka 3460198f6b
bpo-31802: Fix importing native path module before importing os. (#4017) 2018-01-07 17:54:31 +02: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
R David Murray 750018b91a #2466: ismount now recognizes mount points user can't access.
Patch by Robin Roth, reviewed by Serhiy Storchaka, comment wording
tweaked by me.
2016-08-18 21:27:48 -04:00
Martin Panter 119e502277 Fix typos in code comments and documentation 2016-04-16 09:28:57 +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 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 1fa36268cf Issue #22034: Improve handling of wrong argument types in posixpath.join(). 2014-08-24 12:23:36 +03:00
Serhiy Storchaka 549c1972f2 Issue #22034: Got rid of misleading error message for bytearray arguments in
posixpath.join().
2014-08-24 12:18:09 +03:00
Ned Deily 845fd9aa44 Issue #3485: remove misleading comment 2014-06-18 13:09:40 -07:00
Serhiy Storchaka 1392f68e0e Fixed typo in previous commit (issue #6815). 2014-02-13 10:45:48 +02:00
Serhiy Storchaka ffadbb7ee7 Fixed typo in previous commit (issue #6815). 2014-02-13 10:45:14 +02: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
Brian Curtin a3852ff33a Add in a comment that was removed in 240adc564539 (requested by Victor Stinner) 2013-07-22 19:05:48 -05:00
Brian Curtin 06f6fbffd4 Fix #18530. Remove extra stat call from posixpath.ismount 2013-07-22 13:07:52 -05:00
Serhiy Storchaka 2a47954895 Fix posixpath.realpath() for multiple pardirs (fixes issue #6975). 2013-02-18 12:22:05 +02:00
Serhiy Storchaka 407aa2df2a Fix posixpath.realpath() for multiple pardirs (fixes issue #6975). 2013-02-18 12:21:30 +02:00
Serhiy Storchaka 467393dff5 Fix posixpath.realpath() for multiple pardirs (fixes issue #6975). 2013-02-18 12:21:04 +02:00
Serhiy Storchaka f2619236eb Issue #6975: os.path.realpath() now correctly resolves multiple nested symlinks on POSIX platforms. 2013-02-10 12:24:06 +02:00
Serhiy Storchaka d83c82440b Issue #6975: os.path.realpath() now correctly resolves multiple nested symlinks on POSIX platforms. 2013-02-10 12:23:10 +02:00
Serhiy Storchaka df32691e6f Issue #6975: os.path.realpath() now correctly resolves multiple nested symlinks on POSIX platforms. 2013-02-10 12:22:07 +02:00
Brian Curtin 490b32a397 Fix #11939. Set st_dev attribute on Windows to simplify os.path.samefile.
By setting the st_dev attribute, we can then remove some Windows-specific
code and move os.path.samefile/sameopenfile/samestat to Lib/genericpath.py
so all platforms share the same implementation.
2012-12-26 07:03:03 -06:00
Andrew Svetlov ad28c7f9da Issue #16706: get rid of os.error 2012-12-18 22:02:39 +02:00
R David Murray 779b63d005 Merge #15342: Add clarifying sentence to posixpath.join docstring.
This sentence appears as a clarifying note in the HTML docs, and seems
worth having in the docstring since it covers a very common use case
that isn't otherwise obvious.  Thanks to Yongzhi Pan for the suggestion.
2012-07-21 14:34:51 -04:00
R David Murray e3de175a5e #15342: Add clarifying sentence to posixpath.join docstring.
This sentence appears as a clarifying note in the HTML docs, and seems
worth having in the docstring since it covers a very common use case
that isn't otherwise obvious.  Thanks to Yongzhi Pan for the suggestion.
2012-07-21 14:33:56 -04:00
Hynek Schlawack 1815191f17 #15377: Make posixpath.join() more strict when checking for str/bytes mix
Based on a patch by Nick Coghlan.
2012-07-17 13:10:15 +02:00
Hynek Schlawack c5a4566922 #15377: Make posixpath.join() more strict when checking for str/bytes mix
Based on a patch by Nick Coghlan.
2012-07-17 13:05:43 +02:00
Hynek Schlawack 9ac4d8808f #15180: Clarify posixpath.join() error message when mixing str & bytes 2012-07-15 16:46:23 +02:00
Hynek Schlawack 4774946c3b #15180: Clarify posixpath.join() error message when mixing str & bytes 2012-07-15 16:21:30 +02:00
Jesus Cea 7f0d88860f Closes #14768: os.path.expanduser('~/a') doesn't works correctly when HOME is '/' 2012-05-10 05:10:50 +02:00
Hirokazu Yamamoto b08820ad40 Issue #5117: Case normalization was needed on ntpath.relpath(). And
fixed root directory issue on posixpath.relpath(). (Ported working fixes
from ntpath)
2010-10-18 12:13:18 +00:00
Victor Stinner 16004ace5b Use os.fsencode() to support surrogates 2010-09-29 16:59:18 +00:00