diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2022-10-05 17:29:10 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2022-10-05 17:29:10 -0400 |
commit | 2aaa95ef623c44c04eb5de484c78fc586b43abc6 (patch) | |
tree | 3dd9fa7259a9b3e29ca21dc463c7918a63114337 | |
parent | 92fc975eb14eea2259875a3814cafadb005c23ef (diff) | |
download | python-setuptools-git-2aaa95ef623c44c04eb5de484c78fc586b43abc6.tar.gz |
Extract context manager for suppressing logs. Ref pypa/distutils#183.
-rw-r--r-- | setuptools/wheel.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/setuptools/wheel.py b/setuptools/wheel.py index 0ced0ff2..527ed3b2 100644 --- a/setuptools/wheel.py +++ b/setuptools/wheel.py @@ -1,13 +1,14 @@ """Wheels support.""" -from distutils.util import get_platform -from distutils import log import email import itertools import os import posixpath import re import zipfile +import contextlib + +from distutils.util import get_platform import pkg_resources import setuptools @@ -50,6 +51,19 @@ def unpack(src_dir, dst_dir): os.rmdir(dirpath) +@contextlib.contextmanager +def disable_info_traces(): + """ + Temporarily disable info traces. + """ + from distutils import log + saved = log.set_threshold(log.WARN) + try: + yield + finally: + log.set_threshold(saved) + + class Wheel: def __init__(self, filename): @@ -156,17 +170,12 @@ class Wheel: extras_require=extras_require, ), ) - # Temporarily disable info traces. - log_threshold = log._global_log.threshold - log.set_threshold(log.WARN) - try: + with disable_info_traces(): write_requirements( setup_dist.get_command_obj('egg_info'), None, os.path.join(egg_info, 'requires.txt'), ) - finally: - log.set_threshold(log_threshold) @staticmethod def _move_data_entries(destination_eggdir, dist_data): |