From: Raymond Hettinger Date: Sun, 4 Jul 2004 01:55:39 +0000 (+0000) Subject: Fix clear_flags(). Make a readable (not evalable) Context repr. X-Git-Tag: v2.4a1~57 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b1b605ef546c45eac3c53db369ea6e881f05dc8b;p=python Fix clear_flags(). Make a readable (not evalable) Context repr. --- diff --git a/Lib/decimal.py b/Lib/decimal.py index b8c1322f6c..3eee436ff7 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -2154,10 +2154,18 @@ class Context(object): self.DefaultLock.release() del self.self + def __repr__(self): + """Show the current context in readable form, not in a form for eval().""" + s = [] + s.append('Context(prec=%(prec)d, rounding=%(rounding)s, Emin=%(Emin)d, Emax=%(Emax)d' % vars(self)) + s.append('setflags=%r' % [f.__name__ for f, v in self.flags.items() if v]) + s.append('settraps=%r' % [t.__name__ for t, v in self.trap_enablers.items() if v]) + return ', '.join(s) + ')' + def clear_flags(self): """Reset all flags to zero""" for flag in self.flags: - self.flag = 0 + self.flags[flag] = 0 def copy(self): """Returns a copy from self."""