summaryrefslogtreecommitdiffstats
path: root/Lib/pathlib/_local.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pathlib/_local.py')
-rw-r--r--Lib/pathlib/_local.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/pathlib/_local.py b/Lib/pathlib/_local.py
index acb5721..eae8a30 100644
--- a/Lib/pathlib/_local.py
+++ b/Lib/pathlib/_local.py
@@ -17,7 +17,8 @@ try:
except ImportError:
grp = None
-from ._os import UnsupportedOperation, copyfile
+from ._os import (UnsupportedOperation, copyfile, file_metadata_keys,
+ read_file_metadata, write_file_metadata)
from ._abc import PurePathBase, PathBase
@@ -781,8 +782,12 @@ class Path(PathBase, PurePath):
if not exist_ok or not self.is_dir():
raise
+ _readable_metadata = _writable_metadata = file_metadata_keys
+ _read_metadata = read_file_metadata
+ _write_metadata = write_file_metadata
+
if copyfile:
- def copy(self, target, follow_symlinks=True):
+ def copy(self, target, *, follow_symlinks=True, preserve_metadata=False):
"""
Copy the contents of this file to the given target. If this file is a
symlink and follow_symlinks is false, a symlink will be created at the
@@ -799,7 +804,8 @@ class Path(PathBase, PurePath):
return
except UnsupportedOperation:
pass # Fall through to generic code.
- PathBase.copy(self, target, follow_symlinks=follow_symlinks)
+ PathBase.copy(self, target, follow_symlinks=follow_symlinks,
+ preserve_metadata=preserve_metadata)
def chmod(self, mode, *, follow_symlinks=True):
"""