Commit Graph

127 Commits

Author SHA1 Message Date
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
Brett Cannon cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Brett Cannon 0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Brian Curtin ae57cec791 Fix #16788. Add samestat to Lib/ntpath.py 2012-12-26 08:22:00 -06: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 2606a6f197 Issue #16719: Get rid of WindowsError. Use OSError instead
Patch by Serhiy Storchaka.
2012-12-19 14:33:35 +02:00
Andrew Svetlov ad28c7f9da Issue #16706: get rid of os.error 2012-12-18 22:02:39 +02:00
Jesus Cea f1af705720 #16135: Removal of OS/2 support (Remove OS2 and OS/2 references) 2012-10-05 02:48:46 +02:00
Brian Curtin 95d028fd18 Correction to 88e318166eaf - Issue #11583
Rather than wrapping the C _isdir function in a Python function,
just import the C _isdir function directly. Additionally, add in the
docstring which was left out.
2011-06-09 09:10:38 -05:00
Brian Curtin 9c669ccc77 Fix #11583. Changed os.path.isdir to use GetFileAttributes instead of os.stat.
By changing to the Windows GetFileAttributes API in nt._isdir we can figure
out if the path is a directory without opening the file via os.stat. This has
the minor benefit of speeding up os.path.isdir by at least 2x for regular
files and 10-15x improvements were seen on symbolic links (which opened the
file multiple times during os.stat). Since os.path.isdir is used in
several places on interpreter startup, we get a minor speedup in startup time.
2011-06-08 18:17:18 -05:00
Ronald Oussoren 6355c16d36 ntpath.samefile fails to detect that "A.TXT" and "a.txt" refer to the same file on Windows XP.
Noticed while researching a buildbot failure due to a patch for issue #10684.
2011-05-06 17:11:07 +02:00
Ezio Melotti 3b3499ba69 #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
Ezio Melotti 13925008dc #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 11:05:33 +02:00
Hirokazu Yamamoto 089144e511 Merged revisions 85689 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85689 | hirokazu.yamamoto | 2010-10-18 21:13:18 +0900 | 3 lines

  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 13:49:09 +00: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
Brian Curtin e8e8042bb5 Fix #9790 again. Rather than handle NotImplementedError at runtime as
before, only attempt the import where nt._getfinalpathname could actually
work, i.e., Windows Vista and beyond.
2010-09-24 13:56:34 +00:00
Brian Curtin 0dac808b3e Fix #9790: Rework the imports necessary for ntpath.samefile and
ntpath.sameopenfile.
2010-09-23 20:38:14 +00:00
Brian Curtin 13a0db5ddb Fix some errors that #7566 introduced on non-Windows platforms due to
an ImportError. Rearranged the import, faked out the implementation when
the import fails, and reorganized a test that depends on Win32 behavior.
2010-09-06 19:46:17 +00:00
Brian Curtin 6285774f06 Implement #7566 - os.path.sameopenfile for Windows.
This uses the GetFileInformationByHandle function to return a tuple of values
to identify a file, then ntpath.sameopenfile compares file tuples, which
is exposed as os.path.sameopenfile.
2010-09-06 17:07:27 +00:00
Georg Brandl 422b545852 Merged revisions 83065 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r83065 | georg.brandl | 2010-07-23 10:46:35 +0200 (Fr, 23 Jul 2010) | 1 line

  Use augassign.
........
2010-08-01 21:27:48 +00:00
Georg Brandl 611f8f5e8e Merged revisions 83352,83355-83358,83362,83366,83368-83369 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r83352 | georg.brandl | 2010-07-31 20:11:07 +0200 (Sa, 31 Jul 2010) | 1 line

  #9440: Remove borderline test case that fails based on unpredictable conditions such as compiler flags.
........
  r83355 | georg.brandl | 2010-07-31 21:17:11 +0200 (Sa, 31 Jul 2010) | 1 line

  Fix bad merge: test_support -> support.
........
  r83356 | georg.brandl | 2010-07-31 21:29:15 +0200 (Sa, 31 Jul 2010) | 1 line

  Remove trailing whitespace.
........
  r83357 | georg.brandl | 2010-07-31 21:59:55 +0200 (Sa, 31 Jul 2010) | 1 line

  #5778: document that sys.version can contain a newline.
........
  r83358 | georg.brandl | 2010-07-31 22:05:31 +0200 (Sa, 31 Jul 2010) | 1 line

  #9442: do not document a specific format for sys.version; rather refer to version_info and the platform module.
........
  r83362 | georg.brandl | 2010-07-31 23:12:15 +0200 (Sa, 31 Jul 2010) | 1 line

  #8910: add a file explaining why Lib/test/data is there.
........
  r83366 | georg.brandl | 2010-07-31 23:26:40 +0200 (Sa, 31 Jul 2010) | 1 line

  There always is a False and True now.
........
  r83368 | georg.brandl | 2010-07-31 23:40:15 +0200 (Sa, 31 Jul 2010) | 1 line

  #7909: the prefixes \\.\ and \\?\ indicate special Windows paths, do not try to manipulate them.  See http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx for details.
........
  r83369 | georg.brandl | 2010-07-31 23:41:42 +0200 (Sa, 31 Jul 2010) | 1 line

  Fix "Berkeley" name.
........
2010-08-01 19:17:57 +00:00
Georg Brandl cfb68218b7 #7909: the prefixes \\.\ and \\?\ indicate special Windows paths, do not try to manipulate them. See http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx for details. 2010-07-31 21:40:15 +00:00
Georg Brandl 599b65deca Use augassign. 2010-07-23 08:46:35 +00:00
Brian Curtin d40e6f70a5 Implement #1578269. Patch by Jason R. Coombs.
Added Windows support for os.symlink when run on Windows 6.0 or greater,
aka Vista. Previous Windows versions will raise NotImplementedError
when trying to symlink.

Includes numerous test updates and additions to test_os, including
a symlink_support module because of the fact that privilege escalation
is required in order to run the tests to ensure that the user is able
to create symlinks. By default, accounts do not have the required
privilege, so the escalation code will have to be exposed later (or
documented on how to do so). I'll be following up with that work next.

Note that the tests use ctypes, which was agreed on during the PyCon
language summit.
2010-07-08 21:39:08 +00:00
Ezio Melotti 5a3ef5b22a #9018: os.path.normcase() now raises a TypeError if the argument is not str or bytes. 2010-06-25 10:56:11 +00:00
Florent Xicluna 9b0e9180e2 Note: only the relevant parts of r79474 are merged.
Merged revisions 78793,78798-78799,78977,79095,79196,79474 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r78793 | florent.xicluna | 2010-03-08 13:25:35 +0100 (lun, 08 mar 2010) | 2 lines

  Fix macpath to deal with bytes
................
  r78798 | florent.xicluna | 2010-03-08 14:32:17 +0100 (lun, 08 mar 2010) | 18 lines

  Merged revisions 78777,78787,78790 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r78777 | florent.xicluna | 2010-03-08 00:49:03 +0100 (lun, 08 mar 2010) | 4 lines

    Backport the Popen.poll() protection from subprocess to multiprocessing. See #1731717.
    It should fix transient failures on test_multiprocessing.
  ........
    r78787 | florent.xicluna | 2010-03-08 08:21:16 +0100 (lun, 08 mar 2010) | 2 lines

    Don't fail on a debug() statement, if the worker PID is (still) None.
  ........
    r78790 | florent.xicluna | 2010-03-08 12:01:39 +0100 (lun, 08 mar 2010) | 2 lines

    On finalize, don't try to join not started process.
  ........
................
  r78799 | florent.xicluna | 2010-03-08 15:44:41 +0100 (lun, 08 mar 2010) | 2 lines

  Fix ntpath abspath to deal with bytes.
................
  r78977 | florent.xicluna | 2010-03-15 14:14:39 +0100 (lun, 15 mar 2010) | 2 lines

  Fix \xhh specs, #1889.  (an oversight of r60193, r60210).
................
  r79095 | florent.xicluna | 2010-03-19 15:40:31 +0100 (ven, 19 mar 2010) | 2 lines

  Rename test.test_support to test.support for 3.x.
................
  r79196 | florent.xicluna | 2010-03-21 13:29:50 +0100 (dim, 21 mar 2010) | 9 lines

  Merged revisions 79195 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r79195 | florent.xicluna | 2010-03-21 13:27:20 +0100 (dim, 21 mar 2010) | 2 lines

    Issue #8179: Fix macpath.realpath() on a non-existing path.
  ........
................
  r79474 | florent.xicluna | 2010-03-28 01:25:02 +0100 (dim, 28 mar 2010) | 33 lines

  Merged revisions 79297,79310,79382,79425-79427,79450 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r79297 | florent.xicluna | 2010-03-22 18:18:18 +0100 (lun, 22 mar 2010) | 2 lines

    #7668: Fix test_httpservers failure when sys.executable contains non-ASCII bytes.
  ........
    r79310 | florent.xicluna | 2010-03-22 23:52:11 +0100 (lun, 22 mar 2010) | 2 lines

    Issue #8205: Remove the "Modules" directory from sys.path when Python is running from the build directory (POSIX only).
  ........
    r79382 | florent.xicluna | 2010-03-24 20:33:25 +0100 (mer, 24 mar 2010) | 2 lines

    Skip tests which depend on multiprocessing.sharedctypes, if _ctypes is not available.
  ........
    r79425 | florent.xicluna | 2010-03-25 21:32:07 +0100 (jeu, 25 mar 2010) | 2 lines

    Syntax cleanup `== None` -> `is None`
  ........
    r79426 | florent.xicluna | 2010-03-25 21:33:49 +0100 (jeu, 25 mar 2010) | 2 lines

    #8207: Fix test_pep277 on OS X
  ........
    r79427 | florent.xicluna | 2010-03-25 21:39:10 +0100 (jeu, 25 mar 2010) | 2 lines

    Fix test_unittest and test_warnings when running "python -Werror -m test.regrtest"
  ........
    r79450 | florent.xicluna | 2010-03-26 20:32:44 +0100 (ven, 26 mar 2010) | 2 lines

    Ensure that the failed or unexpected tests are sorted before printing.
  ........
................
2010-03-28 11:42:38 +00:00