docs: def restore_catalog_to_ckan(catalog, origin_portal_url, destination_portal_url,
                              apikey, download_strategy=None,
                              generate_new_access_url=None):
      """Restaura los datasets de un catálogo original al portal pasado
         por parámetro. Si hay temas presentes en el DataJson que no están en
         el portal de CKAN, los genera.
  
              Args:
                  catalog (DataJson): El catálogo de origen que se restaura.
                  origin_portal_url (str): La URL del portal CKAN de origen.
                  destination_portal_url (str): La URL del portal CKAN de
                      destino.
                  apikey (str): La apikey de un usuario con los permisos que le
                      permitan crear o actualizar el dataset.
                  download_strategy(callable): Una función
                      (catálogo, distribución)-> bool. Sobre las distribuciones
                      que evalúa True, descarga el recurso en el downloadURL y lo
                      sube al portal de destino. Por default no sube ninguna
                      distribución.
                  generate_new_access_url(list): Se pasan los ids de las
                      distribuciones cuyo accessURL se regenerar en el portal de
                      destino. Para el resto, el portal debe mantiene el valor
                      pasado en el DataJson.
              Returns:
                  dict: Diccionario con key organización y value la lista de ids
                      de datasets subidos a esa organización
          """
      catalog['homepage'] = catalog.get('homepage') or origin_portal_url
      res = {}
      origin_portal = RemoteCKAN(origin_portal_url)
  
      try:
          org_list = origin_portal.action.organization_list()
  
      except CKANAPIError as e:
          logger.exception(
              'Ocurrió un error buscando las organizaciones del portal {}: {}'
              .format(origin_portal_url, str(e)))
          print(e)
          return res
  
      for org in org_list:
          print("Restaurando organizacion {}".format(org))
  
          response = origin_portal.action.organization_show(
              id=org, include_datasets=True)
          datasets = [package['id'] for package in response['packages']]
          pushed_datasets = restore_organization_to_ckan(
              catalog, org, destination_portal_url, apikey,
              dataset_list=datasets, download_strategy=download_strategy,
              generate_new_access_url=generate_new_access_url
          )
          res[org] = pushed_datasets
  
      return res