def _import(self, path, name=None, remove=None):
     if remove and remove in sys.modules:
         del sys.modules[remove]
     self.logger = LoggerStub()
     importer = Importer(name, self.logger)
     sys_path_before = sys.path[:]
     try:
         return importer.import_class_or_module_by_path(path)
     finally:
         assert_equals(sys.path, sys_path_before)
 def _get_reader_class_from_path(self, file_name):
     self._debug(f'[ DataDriver ] Loading Reader from file {file_name}')
     abs_path = os.path.abspath(file_name)
     importer = Importer('DataReader')
     self._debug(f'[ DataDriver ] Reader path: {abs_path}')
     reader = importer.import_class_or_module_by_path(abs_path)
     if not inspect.isclass(reader):
         message = f"Importing custom DataReader class from {abs_path} failed."
         raise ImportError(message)
     return reader