]> granicus.if.org Git - python/commitdiff
Fix clear_flags(). Make a readable (not evalable) Context repr.
authorRaymond Hettinger <python@rcn.com>
Sun, 4 Jul 2004 01:55:39 +0000 (01:55 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 4 Jul 2004 01:55:39 +0000 (01:55 +0000)
Lib/decimal.py

index b8c1322f6cbd39887b48962812852590fe88c8f9..3eee436ff7e6c2fd038d4ecea4767f003523612c 100644 (file)
@@ -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."""