docs: def restore_organization_to_ckan(catalog, owner_org, portal_url, apikey,
                                   dataset_list=None, download_strategy=None,
                                   generate_new_access_url=None):
      """Restaura los datasets de la organización de un catálogo 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.
              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.
              dataset_list(list(str)): Los ids de los datasets a restaurar. Si no
                  se pasa una lista, todos los datasests se restauran.
              owner_org (str): La organización a la cual pertencen los datasets.
              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:
              list(str): La lista de ids de datasets subidos.
      """
      push_new_themes(catalog, portal_url, apikey)
      restored = []
      if dataset_list is None:
          try:
              dataset_list = [ds['identifier'] for ds in catalog.datasets]
          except KeyError:
              logger.exception('Hay datasets sin identificadores')
              return restored
  
      for dataset_id in dataset_list:
          try:
              restored_id = restore_dataset_to_ckan(catalog, owner_org,
                                                    dataset_id, portal_url,
                                                    apikey, download_strategy,
                                                    generate_new_access_url)
              restored.append(restored_id)
          except (CKANAPIError, KeyError, AttributeError) as e:
              logger.exception('Ocurrió un error restaurando el dataset {}: {}'
                               .format(dataset_id, str(e)))
      return restored