Issue #10859: Make `contextlib.GeneratorContextManager` officially

private by renaming it to `_GeneratorContextManager`.
This commit is contained in:
Antoine Pitrou 2011-01-08 09:55:31 +00:00
parent d97b7b5158
commit 67b212e608
3 changed files with 11 additions and 8 deletions

View File

@ -17,7 +17,7 @@ class ContextDecorator(object):
return inner
class GeneratorContextManager(ContextDecorator):
class _GeneratorContextManager(ContextDecorator):
"""Helper for @contextmanager decorator."""
def __init__(self, gen):
@ -92,7 +92,7 @@ def contextmanager(func):
"""
@wraps(func)
def helper(*args, **kwds):
return GeneratorContextManager(func(*args, **kwds))
return _GeneratorContextManager(func(*args, **kwds))
return helper

View File

@ -9,26 +9,26 @@ __email__ = "mbland at acm dot org"
import sys
import unittest
from collections import deque
from contextlib import GeneratorContextManager, contextmanager
from contextlib import _GeneratorContextManager, contextmanager
from test.support import run_unittest
class MockContextManager(GeneratorContextManager):
class MockContextManager(_GeneratorContextManager):
def __init__(self, gen):
GeneratorContextManager.__init__(self, gen)
_GeneratorContextManager.__init__(self, gen)
self.enter_called = False
self.exit_called = False
self.exit_args = None
def __enter__(self):
self.enter_called = True
return GeneratorContextManager.__enter__(self)
return _GeneratorContextManager.__enter__(self)
def __exit__(self, type, value, traceback):
self.exit_called = True
self.exit_args = (type, value, traceback)
return GeneratorContextManager.__exit__(self, type,
value, traceback)
return _GeneratorContextManager.__exit__(self, type,
value, traceback)
def mock_contextmanager(func):

View File

@ -40,6 +40,9 @@ Core and Builtins
Library
-------
- Issue #10859: Make ``contextlib.GeneratorContextManager`` officially
private by renaming it to ``_GeneratorContextManager``.
- Issue #10042: Fixed the total_ordering decorator to handle cross-type
comparisons that could lead to infinite recursion.