Toke Høiland-Jørgensen
092435e932
bpo-38811: Check for presence of os.link method in pathlib (GH-17225)
...
Commit 6b5b013bcc
("bpo-26978: Implement pathlib.Path.link_to (Using
os.link) (GH-12990)") introduced a new link_to method in pathlib. However,
this makes pathlib crash when the 'os' module is missing a 'link' method.
Fix this by checking for the presence of the 'link' method on pathlib
module import, and if it's not present, turn it into a runtime error like
those emitted when there is no lchmod() or symlink().
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-12-16 13:23:55 +01:00
Batuhan Taşkaya
526606baf7
bpo-38994: Implement __class_getitem__ for PathLike (GH-17498)
...
https://bugs.python.org/issue38994
2019-12-08 12:31:15 -08:00
Victor Stinner
59c80889ff
Revert "bpo-38811: Check for presence of os.link method in pathlib. (GH-17170)" ( #17219 )
...
This reverts commit 111772fc27
.
2019-11-18 12:26:37 +01:00
Toke Høiland-Jørgensen
111772fc27
bpo-38811: Check for presence of os.link method in pathlib. (GH-17170)
...
Fix also the Path.symplink() method implementation for the case when
symlinks are not supported.
2019-11-17 19:06:38 +02:00
Ram Rachum
8d4fef4ee2
bpo-38422: Clarify docstrings of pathlib suffix(es) (GH-16679)
...
Whenever I use `path.suffix` I have to check again whether it includes the dot or not. I decided to add it to the docstring so I won't have to keep checking.
https://bugs.python.org/issue38422
Automerge-Triggered-By: @pitrou
2019-11-02 09:46:24 -07:00
Girts
a01ba333af
bpo-30618: add readlink to pathlib.Path (GH-8285)
...
This adds a "readlink" method to pathlib.Path objects that calls through
to os.readlink.
https://bugs.python.org/issue30618
Automerge-Triggered-By: @gpshead
2019-10-23 14:18:40 -07:00
Serhiy Storchaka
10ecbadb79
bpo-31202: Preserve case of literal parts in Path.glob() on Windows. (GH-16860)
2019-10-21 20:37:15 +03:00
hui shang
088a09af4b
bpo-31163: Added return values to pathlib.Path instance's rename and replace methods. (GH-13582)
...
* bpo-31163: Added return values to pathlib.Path instance's rename and replace methods.
2019-09-11 14:26:49 +01:00
Hai Shi
82642a052d
bpo-37689: add Path.is_relative_to() method (GH-14982)
2019-08-13 21:54:02 +02:00
aiudirog
4c69be22df
bpo-34775: Return NotImplemented in PurePath division. (GH-9509)
2019-08-08 08:41:10 +03:00
Jörg Stucke
d5c120f7eb
bpo-36035: fix Path.rglob for broken links (GH-11988)
...
Links creating an infinite symlink loop would raise an exception.
2019-05-21 19:44:40 +02:00
zlohhcuB treboR
d9e006bcef
bpo-33123: pathlib: Add missing_ok parameter to Path.unlink (GH-6191)
...
Similarly to how several pathlib file creation functions have an "exists_ok" parameter, we should introduce "missing_ok" that makes removal functions not raise an exception when a file or directory is already absent. IMHO, this should cover Path.unlink and Path.rmdir. Note, Path.resolve() has a "strict" parameter since 3.6 that does the same thing. Naming this of this new parameter tries to be consistent with the "exists_ok" parameter as that is more explicit about what it does (as opposed to "strict").
https://bugs.python.org/issue33123
2019-05-15 15:02:11 -07:00
penguindustin
9646630895
bpo-36766: Typos in docs and code comments (GH-13116)
2019-05-06 14:57:17 -04:00
Joannah Nanjekye
6b5b013bcc
bpo-26978: Implement pathlib.Path.link_to (Using os.link) (GH-12990)
2019-05-04 17:27:10 +02:00
Eivind Teig
537b6caa56
bpo-22062: Updated docstring and documentation for pathlib (GH-8519)
...
Original patch by Mike Short
https://bugs.python.org/issue22062
2019-02-11 02:47:09 -08:00
Steve Dower
2f6fae6e51
bpo-35692: pathlib no longer raises when checking file and directory existence on drives that are not ready (GH-11746)
2019-02-03 23:08:18 -08: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
Przemysław Spodymek
216b745eaf
bpo-33635: Handling Bad file descriptor in Path.is_file and related. (GH-8542)
2018-08-27 14:33:45 -07:00
Berker Peksag
423d05f6f5
bpo-34333: Fix %-formatting in Path.with_suffix() (GH-8663)
2018-08-11 08:45:06 +03:00
Stefan Otte
46dc4e34ed
bpo-34329: Doc'd how to remove suffix of pathlib.Path() (GH-8655)
2018-08-03 23:49:42 +03:00
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