Deprecate bsddb for removal in Python 3.0.
Closes issue 3776.
Review by Nick Coghlan.
diff --git a/Lib/warnings.py b/Lib/warnings.py
index b699c43..9ec04be 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -314,7 +314,14 @@
self.append(WarningMessage(*args, **kwargs))
def __getattr__(self, attr):
- return getattr(self[-1], attr)
+ """Return attributes from the last caught warning, or raise
+ AttributeError."""
+ try:
+ return getattr(self[-1], attr)
+ except IndexError:
+ raise AttributeError("no recorded warning to read "
+ "{0!r} attribute from".format(attr))
+
def reset(self):
del self[:]