docs: def make_catalogs_backup(catalogs, local_catalogs_dir="",
                           include_metadata=True, include_data=True,
                           include_metadata_xlsx=False, use_short_path=False):
      """Realiza una copia local de los datos y metadatos de un catálogo.
  
      Args:
          catalogs (list or dict): Lista de catálogos (elementos que pueden
              ser interpretados por DataJson como catálogos) o diccionario
              donde las keys se interpretan como los catalog_identifier:
                  {
                  "modernizacion":
                  "http://infra.datos.gob.ar/catalog/modernizacion/data.json"
                  }
              Cuando es una lista, los ids se toman de catalog_identifer, y
              se ignoran los catálogos que no tengan catalog_identifier.
              Cuando se pasa un diccionario, los keys reemplazan a los
              catalog_identifier (estos no se leeen).
          catalog_id (str): Si se especifica, se usa este identificador para el
              backup. Si no se espedifica, se usa catalog["identifier"].
          local_catalogs_dir (str): Directorio local en el cual se va a crear
              la carpeta "catalog/..." con todos los catálogos.
          include_metadata (bool): Si es verdadero, se generan los archivos
              data.json y catalog.xlsx.
          include_data (bool): Si es verdadero, se descargan todas las
              distribuciones de todos los catálogos.
  
      Return:
          None
      """
  
      if isinstance(catalogs, list):
          for catalog in catalogs:
              try:
                  make_catalog_backup(
                      catalog,
                      local_catalogs_dir=local_catalogs_dir,
                      include_metadata=include_metadata,
                      include_metadata_xlsx=include_metadata_xlsx,
                      include_data=include_data,
                      use_short_path=use_short_path)
              except Exception:
                  logger.exception("ERROR en {}".format(catalog))
  
      elif isinstance(catalogs, dict):
          for catalog_id, catalog in catalogs.iteritems():
              try:
                  make_catalog_backup(
                      catalog, catalog_id,
                      local_catalogs_dir=local_catalogs_dir,
                      include_metadata=include_metadata,
                      include_metadata_xlsx=include_metadata_xlsx,
                      include_data=include_data,
                      use_short_path=use_short_path)
              except Exception:
                  logger.exception(
                      "ERROR en {} ({})".format(catalog, catalog_id))