Commit Graph

111 Commits

Author SHA1 Message Date
chason dfa015cf77 bpo-31972: Improve docstrings for pathlib classes (#5310) 2018-02-18 18:36:32 -05:00
Serhiy Storchaka 81108375d9 bpo-30152: Reduce the number of imports for argparse. (#1269) 2017-09-26 00:55:55 +03:00
Cooper Lees 173ff4a58a bpo-30897: Add is_mount() to pathlib.Path (#2669)
* Add in is_mount() call to pathlib.Path similiar to os.path.ismount(path)
* Add tests for is_mount()
2017-08-01 15:35:45 -07:00
Antoine Pietri add98eb4fe bpo-30177: pathlib: include the full path in resolve(strict=False) (#1893) 2017-06-07 08:29:17 -07:00
Jon Dufresne 3972628de3 bpo-30296 Remove unnecessary tuples, lists, sets, and dicts (#1489)
* Replaced list(<generator expression>) with list comprehension
* Replaced dict(<generator expression>) with dict comprehension
* Replaced set(<list literal>) with set literal
* Replaced builtin func(<list comprehension>) with func(<generator
  expression>) when supported (e.g. any(), all(), tuple(), min(), &
  max())
2017-05-18 07:35:54 -07:00
Serhiy Storchaka 2e576f5aec bpo-30144: Import collections ABC from collections.abc rather than collections. (#1263) 2017-04-24 09:05:00 +03:00
Armin Rigo 22a594a004 bpo-29694: race condition in pathlib mkdir with flags parents=True (GH-1089) 2017-04-13 11:08:15 -07:00
Victor Stinner d6debb24e0 bpo-29919: Remove unused imports found by pyflakes (#137)
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Serhiy Storchaka 62a9951530 bpo-29900: Simplify pathlib implementation. (#814)
Since functions in the os module support path-like objects, explicit
converting Path to str no longer needed.
2017-03-25 13:42:11 +02:00
Serhiy Storchaka af7b9ec5c8 bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) (#805)
when the OS gives priority to errors such as EACCES over EEXIST.
2017-03-24 20:51:53 +02:00
Steve Dower 1add96f1b6 Issue #29416: Prevent infinite loop in pathlib.Path.mkdir 2017-02-04 14:55:16 -08:00
Steve Dower d3c4853b78 Issue #29416: Prevent infinite loop in pathlib.Path.mkdir 2017-02-04 14:54:56 -08:00
Steve Dower 4b1e98b0af Issue #29079: Prevent infinite loop in pathlib.resolve() on Windows 2016-12-28 16:02:59 -08:00
Steve Dower 98eb360531 Issue #19717: Makes Path.resolve() succeed on paths that do not exist (patch by Vajrasky Kok) 2016-11-09 12:58:17 -08:00
Serhiy Storchaka 680cb152c5 Issue #26032: Optimized globbing in pathlib by using os.scandir(); it is now
about 1.5--4 times faster.
2016-09-07 10:58:05 +03:00
Brett Cannon 568be63248 Issue #27186: Add os.PathLike support to pathlib.
This adds support both to pathlib.PurePath's constructor as well as
implementing __fspath__(). This removes the provisional status for
pathlib.

Initial patch by Dusty Phillips.
2016-06-10 12:20:49 -07:00
Martin Panter e26da7c03a Issue #27171: Fix typos in documentation, comments, and test function names 2016-06-02 10:07:09 +00:00
Guido van Rossum 387e6e3817 Back out pathlib.Path.path attr. (Merge 3.4->3.5) 2016-05-19 13:10:20 -07:00
Guido van Rossum 3d4d01f614 Back out 7e9605697dfc, 2e3c31ab586a, 759b2cecc289.
These added a path attribute to pathlib.Path objects, and docs.
Instead, we're going to use PEP 519.

(Starting in the 3.4 branch and merging forward from there since that's what I did originally.)
2016-05-19 13:00:21 -07:00
Guido van Rossum bc9fddaf50 Add another try/except PermissionError to avoid depending on listdir order. Fix issues #24120 and #26012. 2016-01-07 10:56:36 -08:00
Guido van Rossum e428231539 Issue #22570: Add 'path' attribute to pathlib.Path objects. 2016-01-06 11:01:42 -08:00
Guido van Rossum 69bfb15bd8 Issue #26012: Don't traverse into symlinks for ** pattern in pathlib.Path.[r]glob(). 2016-01-06 10:31:33 -08:00
Guido van Rossum 6c2d33a258 Issue #24120: Ignore PermissionError in pathlib.Path.[r]glob(). Ulrich Petri. 2016-01-06 09:42:07 -08:00
Antoine Pitrou 57fffd6f99 Issue #23146: Fix mishandling of absolute Windows paths with forward slashes in pathlib.
Detected and fixed by Serhiy.
2015-02-15 18:03:59 +01:00
Serhiy Storchaka f4b7a02e93 Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented.  Removed incorrect implementations of __ne__().
2015-01-26 09:57:07 +02:00
Antoine Pitrou db118f5db7 Close #22370: Windows detection in pathlib is now more robust. 2014-11-19 00:32:08 +01:00
Antoine Pitrou 2b2852b1b4 Issue #22759: Query methods on pathlib.Path() (exists(), is_dir(), etc.) now return False when the underlying stat call raises NotADirectoryError. 2014-10-30 23:14:03 +01:00
Antoine Pitrou e50dafcd63 Issue #20639: calling Path.with_suffix('') allows removing the suffix again.
Patch by July Tikhonov.
2014-07-06 21:37:15 -04:00
Antoine Pitrou 7084e736db Issue #21714: Disallow the construction of invalid paths using Path.with_name(). Original patch by Antony Lee. 2014-07-06 21:31:12 -04:00
Antoine Pitrou cb5ec77d33 Issue #21127: Path objects can now be instantiated from str subclass instances (such as numpy.str_).
Thanks to Antony Lee for the report and preliminary patch.
2014-04-23 00:34:15 +02:00
Antoine Pitrou 1b02da95d2 Issue #20111: pathlib.Path.with_suffix() now sanity checks the given suffix. 2014-01-03 00:07:17 +01:00
Antoine Pitrou 156b3610b8 Issue #19918: Fix PurePath.relative_to() under Windows. 2013-12-28 19:49:04 +01:00
Antoine Pitrou 0048c98fef Issue #19921: When Path.mkdir() is called with parents=True, any missing parent is created with the default permissions, ignoring the mode argument (mimicking the POSIX "mkdir -p" command).
Patch by Serhiy.
2013-12-16 20:22:37 +01:00
Antoine Pitrou c274fd22ed Issue #19887: Improve the Path.resolve() algorithm to support certain symlink chains.
Original patch by Serhiy.
2013-12-16 19:57:41 +01:00
Serhiy Storchaka a993902a28 Issue #19908: pathlib now joins relative Windows paths correctly when a drive
is present.  Original patch by Antoine Pitrou.
2013-12-06 17:14:12 +02:00
Antoine Pitrou 069a5e1057 Issue #19872: remove unused imports in pathlib. Patch by Vajrasky Kok. 2013-12-03 09:41:35 +01:00
Antoine Pitrou 4a60d42aad Issue #19852: move Path._raw_open() around, as it is now a private method.
Patch by Vajrasky Kok.
2013-12-02 21:25:18 +01:00
Antoine Pitrou 2cf3917954 Issue #19715: try the utime(..., None) approach again, now that it should be more precise under Windows 2013-11-23 15:25:59 +01:00
Antoine Pitrou 12820c0d5d Revert utime(..., None) strategy (it has too poor resolution under Windows) and restore the previous test workaround
(issue #19715)
2013-11-23 02:11:02 +01:00
Antoine Pitrou c3055be5f3 Trying other strategy for #19715: use utime(..., None) 2013-11-23 01:54:27 +01:00
Antoine Pitrou 0325a21da3 Fix whitespace 2013-11-22 17:38:41 +01:00
Antoine Pitrou 31119e4f10 Issue #19673: Add pathlib to the stdlib as a provisional module (PEP 428). 2013-11-22 17:38:12 +01:00
Berker Peksag 04d4229719 Issue #20589: Invoking Path.owner() and Path.group() on Windows now raise
NotImplementedError instead of ImportError.
2016-03-11 23:07:27 +02:00
Berker Peksag 4a208e448e Issue #23076: Path.glob() now raises a ValueError if it's called with an
invalid pattern.

Patch by Thomas Nyberg.
2016-01-30 17:50:48 +02:00
Guido van Rossum c3a8272705 Add another try/except PermissionError to avoid depending on listdir order. Fix issues #24120 and #26012. (Merge 3.4->3.5) 2016-01-07 10:57:37 -08:00
Guido van Rossum 1a4afec0d6 Issue #22570: Add 'path' attribute to pathlib.Path objects. (Merge 3.4->3.5) 2016-01-06 11:03:15 -08:00
Guido van Rossum 520f297eb4 Issue #26012: Don't traverse into symlinks for ** pattern in pathlib.Path.[r]glob(). (Merge 3.4->3.5) 2016-01-06 10:35:30 -08:00
Guido van Rossum d54377d2ca Issue #24120: Ignore PermissionError in pathlib.Path.[r]glob(). Ulrich Petri. (Merge 3.4->3.5) 2016-01-06 09:51:42 -08:00
Berker Peksag 05492b8989 Issue #25417: Remove the extra dot from docstring 2015-10-22 03:34:16 +03:00
Berker Peksag 267597f087 Issue #25417: Fix typo in Path.samefile() docstring
Reported by Antony Lee.
2015-10-21 20:10:24 +03:00
Antoine Pitrou 2d07b85585 Issue #23146: Fix mishandling of absolute Windows paths with forward slashes in pathlib.
Detected and fixed by Serhiy.
2015-02-15 18:06:54 +01:00
Serhiy Storchaka 34af5023fc Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented.  Removed incorrect implementations of __ne__().
2015-01-26 10:04:15 +02:00
Antoine Pitrou 17cba7daf5 Issue #19777: Provide a home() classmethod on Path objects.
Contributed by Victor Salgado and Mayank Tripathi.
2015-01-12 21:03:41 +01:00
Antoine Pitrou 5d4e27ecee whitespace 2014-12-30 22:09:42 +01:00
Antoine Pitrou 8477ed6048 Issue #19776: Add a expanduser() method on Path objects.
Patch by Serhiy.
2014-12-30 20:54:45 +01:00
Antoine Pitrou 1d922d0ce9 Close #22370: Windows detection in pathlib is now more robust. 2014-11-19 00:33:08 +01:00
Antoine Pitrou c689101a5e Issue #22759: Query methods on pathlib.Path() (exists(), is_dir(), etc.) now return False when the underlying stat call raises NotADirectoryError. 2014-10-30 23:15:25 +01:00
Georg Brandl ea68398355 Closes #20218: Added convenience methods read_text/write_text and read_bytes/
write_bytes to pathlib.Path objects.

Thanks to Christopher Welborn and Ram Rachum for original patches.
2014-10-01 19:12:33 +02:00
Barry Warsaw 7c549c4e64 - Issue #21539: Add a *exists_ok* argument to `Pathlib.mkdir()` to mimic
`mkdir -p` and `os.makedirs()` functionality.  When true, ignore
  FileExistsErrors.  Patch by Berker Peksag.

(With minor cleanups, additional tests, doc tweaks, etc. by Barry)

Also:

* Remove some unused imports in test_pathlib.py reported by pyflakes.
2014-08-05 11:28:12 -04:00
Antoine Pitrou 006c725426 Merge pathlib fixes 2014-07-06 21:38:35 -04:00
Antoine Pitrou 43e3d9409d Issue #19775: Add a samefile() method to pathlib Path objects.
Initial patch by Vajrasky Kok.
2014-05-13 10:50:15 +02:00