Código fuente para pydatajson.response_formatters.list_formatter

# -*- coding: utf-8 -*-

from __future__ import unicode_literals

from pydatajson.response_formatters.validation_response_formatter import \
    ValidationResponseFormatter


[documentos]class ListFormatter(ValidationResponseFormatter):
[documentos] def format(self): rows_catalog = [] validation_result = { "catalog_title": self.response["error"]["catalog"]["title"], "catalog_status": self.response["error"]["catalog"]["status"], } for error in self.response["error"]["catalog"]["errors"]: catalog_result = dict(validation_result) catalog_result.update({ "catalog_error_message": error["message"], "catalog_error_location": ", ".join(error["path"]), }) rows_catalog.append(catalog_result) if len(self.response["error"]["catalog"]["errors"]) == 0: catalog_result = dict(validation_result) catalog_result.update({ "catalog_error_message": None, "catalog_error_location": None }) rows_catalog.append(catalog_result) # crea una lista de dicts para volcarse en una tabla (dataset) rows_dataset = [] for dataset in self.response["error"]["dataset"]: validation_result = { "dataset_title": dataset["title"], "dataset_identifier": dataset["identifier"], "dataset_list_index": dataset["list_index"], "dataset_status": dataset["status"] } for error in dataset["errors"]: dataset_result = dict(validation_result) dataset_result.update({ "dataset_error_message": error["message"], "dataset_error_location": error["path"][-1] }) rows_dataset.append(dataset_result) if len(dataset["errors"]) == 0: dataset_result = dict(validation_result) dataset_result.update({ "dataset_error_message": None, "dataset_error_location": None }) rows_dataset.append(dataset_result) return {"catalog": rows_catalog, "dataset": rows_dataset}