From d783c8ed00e251053a10f48a25fbd9b7944e7000 Mon Sep 17 00:00:00 2001 From: Trent Nelson Date: Tue, 16 Oct 2012 07:47:34 -0400 Subject: Issue #15833: don't raise an exception if importlib can't write byte-compiled files. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a regression introduced by 3.3. Patch by Charles-François Natali. --- Lib/importlib/_bootstrap.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Lib/importlib/_bootstrap.py') diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index fad95a620e..8a20c5e193 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -1066,17 +1066,17 @@ class SourceFileLoader(FileLoader, SourceLoader): except FileExistsError: # Probably another Python process already created the dir. continue - except PermissionError: - # If can't get proper access, then just forget about writing - # the data. + except OSError as exc: + # Could be a permission error, read-only filesystem: just forget + # about writing the data. + _verbose_message('could not create {!r}: {!r}', parent, exc) return try: _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 - # it at the same time. - pass + except OSError as exc: + # Same as above: just don't write the bytecode. + _verbose_message('could not create {!r}: {!r}', path, exc) class SourcelessFileLoader(FileLoader, _LoaderBasics): -- cgit v1.2.1