def import_file(self, file): try: dataset = files.read(self.file_formats, file) except InvalidFileError as e: return ImportResult( key=self.key, error=e.message ) return self.import_data(dataset, transaction=False)
def import_files(self, files): results = MultiImportResult() data = {} for filename, file in files.items(): try: dataset = file_helper.read(self.file_formats, file) model, data_item = self._identify_dataset(filename, dataset) if model in data: data[model].append(data_item) else: data[model] = [data_item] except(InvalidDatasetError, InvalidFileError) as e: results.add_error(filename, e.message) if not results.valid: return results return self.import_data(data, transaction=False)