Пример #1
0
    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)