docs: def generate_datasets_summary(self, catalog, export_path=None):
          """Genera un informe sobre los datasets presentes en un catálogo,
          indicando para cada uno:
              - Índice en la lista catalog["dataset"]
              - Título
              - Identificador
              - Cantidad de distribuciones
              - Estado de sus metadatos ["OK"|"ERROR"]
  
          Es utilizada por la rutina diaria de `libreria-catalogos` para reportar
          sobre los datasets de los catálogos mantenidos.
  
          Args:
              catalog (str o dict): Path a un catálogo en cualquier formato,
                  JSON, XLSX, o diccionario de python.
              export_path (str): Path donde exportar el informe generado (en
                  formato XLSX o CSV). Si se especifica, el método no devolverá
                  nada.
  
          Returns:
              list: Contiene tantos dicts como datasets estén presentes en
              `catalogs`, con los datos antes mencionados.
          """
          catalog = readers.read_catalog(catalog)
  
          # Trato de leer todos los datasets bien formados de la lista
          # catalog["dataset"], si existe.
          if "dataset" in catalog and isinstance(catalog["dataset"], list):
              datasets = [d if isinstance(d, dict) else {} for d in
                          catalog["dataset"]]
          else:
              # Si no, considero que no hay datasets presentes
              datasets = []
  
          validation = self.validate_catalog(catalog)["error"]["dataset"]
  
          def info_dataset(index, dataset):
              """Recolecta información básica de un dataset."""
              info = OrderedDict()
              info["indice"] = index
              info["titulo"] = dataset.get("title")
              info["identificador"] = dataset.get("identifier")
              info["estado_metadatos"] = validation[index]["status"]
              info["cant_errores"] = len(validation[index]["errors"])
              info["cant_distribuciones"] = len(dataset["distribution"])
  
              return info
  
          summary = [info_dataset(i, ds) for i, ds in enumerate(datasets)]
          if export_path:
              writers.write_table(summary, export_path)
          else:
              return summary