diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2006-09-02 03:54:17 +0000 |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2006-09-02 03:54:17 +0000 |
commit | ced1218dd1b69ac848f8c79d1afaada5669af33c (patch) | |
tree | 597ddd3968f4db0a4b7fb6a6b6c238eb9e49319b /Lib/decimal.py | |
parent | 69e88975059b0c74e3e9a17dd46b715a532cfd20 (diff) | |
download | cpython-git-ced1218dd1b69ac848f8c79d1afaada5669af33c.tar.gz |
Make decimal.ContextManager a private implementation detail of decimal.localcontext()
Diffstat (limited to 'Lib/decimal.py')
-rw-r--r-- | Lib/decimal.py | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py index a5176e6fe6..a66beef6cd 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -130,9 +130,6 @@ __all__ = [ 'ROUND_DOWN', 'ROUND_HALF_UP', 'ROUND_HALF_EVEN', 'ROUND_CEILING', 'ROUND_FLOOR', 'ROUND_UP', 'ROUND_HALF_DOWN', - # helper for context management - 'ContextManager', - # Functions for manipulating contexts 'setcontext', 'getcontext', 'localcontext' ] @@ -501,8 +498,8 @@ def localcontext(ctx=None): >>> print getcontext().prec 28 """ - if ctx is None: ctx = getcontext().copy() - return ContextManager(ctx.copy()) + if ctx is None: ctx = getcontext() + return _ContextManager(ctx) ##### Decimal class ########################################### @@ -2219,30 +2216,14 @@ for name in rounding_functions: del name, val, globalname, rounding_functions -class ContextManager(object): +class _ContextManager(object): """Context manager class to support localcontext(). - Sets the supplied context in __enter__() and restores + Sets a copy of the supplied context in __enter__() and restores the previous decimal context in __exit__() - - """ - # The below can't be included in the docstring until Python 2.6 - # as the doctest module doesn't understand __future__ statements - """ - Sample usage: - >>> from __future__ import with_statement - >>> print getcontext().prec - 28 - >>> ctx = Context(prec=15) - >>> with ContextManager(ctx): - ... print getcontext().prec - ... - 15 - >>> print getcontext().prec - 28 """ def __init__(self, new_context): - self.new_context = new_context + self.new_context = new_context.copy() def __enter__(self): self.saved_context = getcontext() setcontext(self.new_context) |