[Python-checkins] cpython: Issue #2051: Tweak last commit for this issue to pass in mode instead
brett.cannon
python-checkins at python.org
Fri Aug 24 19:48:47 CEST 2012
http://hg.python.org/cpython/rev/0c661c5632e0
changeset: 78738:0c661c5632e0
user: Brett Cannon <brett at python.org>
date: Fri Aug 24 13:48:39 2012 -0400
summary:
Issue #2051: Tweak last commit for this issue to pass in mode instead
of source path to set_data() and make the new argument private until
possible API changes can be discussed more thoroughly in Python 3.4.
files:
Lib/importlib/_bootstrap.py | 16 +-
Python/importlib.h | 3757 +++++++++++-----------
2 files changed, 1884 insertions(+), 1889 deletions(-)
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -1042,9 +1042,13 @@
def _cache_bytecode(self, source_path, bytecode_path, data):
# Adapt between the two APIs
- return self.set_data(bytecode_path, data, source_path=source_path)
+ try:
+ mode = _os.stat(source_path).st_mode
+ except OSError:
+ mode = 0o666
+ return self.set_data(bytecode_path, data, _mode=mode)
- def set_data(self, path, data, *, source_path=None):
+ def set_data(self, path, data, *, _mode=0o666):
"""Write bytes data to a file."""
parent, filename = _path_split(path)
path_parts = []
@@ -1064,14 +1068,8 @@
# If can't get proper access, then just forget about writing
# the data.
return
- mode = 0o666
- if source_path is not None:
- try:
- mode = _os.stat(source_path).st_mode
- except OSError:
- pass
try:
- _write_atomic(path, data, mode)
+ _write_atomic(path, data, _mode)
_verbose_message('created {!r}', path)
except (PermissionError, FileExistsError):
# Don't worry if you can't write bytecode or someone is writing
diff --git a/Python/importlib.h b/Python/importlib.h
--- a/Python/importlib.h
+++ b/Python/importlib.h
[stripped]
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list