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