summaryrefslogtreecommitdiffstats
path: root/third_party/python/pip_tools/piptools/_compat/contextlib.py
blob: 04039ccb019cba3d9076c5e68bd8c951cd640477 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Ported from python 3.7 contextlib.py
class nullcontext(object):
    """Context manager that does no additional processing.
    Used as a stand-in for a normal context manager, when a particular
    block of code is only sometimes used with a normal context manager:
    cm = optional_cm if condition else nullcontext()
    with cm:
        # Perform operation, using optional_cm if condition is True
    """

    def __init__(self, enter_result=None):
        self.enter_result = enter_result

    def __enter__(self):
        return self.enter_result

    def __exit__(self, *excinfo):
        pass