From d749c7ae683a98bb2f0c1ac3c9ac2d3c5bb6e51f Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Sat, 4 Jan 2014 15:06:49 -0700 Subject: Issue #19927: Add __eq__ to path-based loaders in importlib. --- Lib/importlib/_bootstrap.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Lib/importlib/_bootstrap.py') diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 62e25a32d9..864e546d5c 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.""" -- cgit v1.2.1