def load(self): datasetAlreadyExists = self.__create_folders() # clone file sources if dataset doesn't already exists if not datasetAlreadyExists: self.__cloneFilesSources() if not os.path.exists(FileManager.getDatasetCopyFileUrl()): # load dataset in memory self.__loadInMemory() # generate 'filtered' version self.__filterSources() # save dataset copy datasetCopy: dict = {'training': self.Dataset.training, 'testing': self.Dataset.testing} FileManager.writeFile(FileManager.getDatasetCopyFileUrl(), json.dumps(datasetCopy)) else: datasetCopy = json.loads(FileManager.readFile(FileManager.getDatasetCopyFileUrl())) self.Dataset.training = datasetCopy['training'] self.Dataset.testing = datasetCopy['testing'] return self