Start replacing UserDict.DictMixin with collections.MutableMapping (the bsddb modules are next).
diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index 005f437..de6e6f8 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -378,6 +378,11 @@
def values(self):
return ValuesView(self)
+ def __eq__(self, other):
+ return set(self) == set(other)
+
+ def __ne__(self, other):
+ return set(self) == set(other)
class MappingView(metaclass=ABCMeta):
@@ -485,6 +490,13 @@
for key, value in kwds.items():
self[key] = value
+ def setdefault(self, key, default=None):
+ try:
+ return self[key]
+ except KeyError:
+ self[key] = default
+ return default
+
MutableMapping.register(dict)