summaryrefslogtreecommitdiffstats
path: root/Lib/importlib
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2014-01-04 22:06:49 (GMT)
committerEric Snow <ericsnowcurrently@gmail.com>2014-01-04 22:06:49 (GMT)
commitd749c7ae683a98bb2f0c1ac3c9ac2d3c5bb6e51f (patch)
treedb62a95d76cc066f937039914a9c2461087b32cf /Lib/importlib
parent78194cd4e920550bad4f9cad5f7411927ab3f458 (diff)
downloadcpython-d749c7ae683a98bb2f0c1ac3c9ac2d3c5bb6e51f.zip
cpython-d749c7ae683a98bb2f0c1ac3c9ac2d3c5bb6e51f.tar.gz
cpython-d749c7ae683a98bb2f0c1ac3c9ac2d3c5bb6e51f.tar.bz2
Issue #19927: Add __eq__ to path-based loaders in importlib.
Diffstat (limited to 'Lib/importlib')
-rw-r--r--Lib/importlib/_bootstrap.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 62e25a3..864e546 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -1559,6 +1559,13 @@ class FileLoader:
self.name = fullname
self.path = path
+ def __eq__(self, other):
+ return (self.__class__ == other.__class__ and
+ self.__dict__ == other.__dict__)
+
+ def __hash__(self):
+ return hash(self.name) ^ hash(self.path)
+
@_check_name
def load_module(self, fullname):
"""Load a module from a file."""
@@ -1653,6 +1660,13 @@ class ExtensionFileLoader:
self.name = name
self.path = path
+ def __eq__(self, other):
+ return (self.__class__ == other.__class__ and
+ self.__dict__ == other.__dict__)
+
+ def __hash__(self):
+ return hash(self.name) ^ hash(self.path)
+
@_check_name
def load_module(self, fullname):
"""Load an extension module."""