From 7a5f26010dd9924acaaac65dfa7616872b30a422 Mon Sep 17 00:00:00 2001 From: Remi Rampin Date: Thu, 1 Oct 2020 14:29:22 -0400 Subject: [PATCH] Don't swallow ImportError in temporary_directory() Fixes #3026 If the context wrapped by the temporary_directory() context manager raised ImportError (for example because distutils.util cannot be imported, #721 #1837), it would previously keep going, causing a RuntimeError from contextlib: RuntimeError: generator didn't stop after throw() --- get-poetry.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/get-poetry.py b/get-poetry.py index 0df27239a9b..c14c9d4d6ec 100644 --- a/get-poetry.py +++ b/get-poetry.py @@ -159,15 +159,15 @@ def colorize(style, text): def temporary_directory(*args, **kwargs): try: from tempfile import TemporaryDirectory - - with TemporaryDirectory(*args, **kwargs) as name: - yield name except ImportError: name = tempfile.mkdtemp(*args, **kwargs) yield name shutil.rmtree(name) + else: + with TemporaryDirectory(*args, **kwargs) as name: + yield name def string_to_bool(value):