code: def resources_update(portal_url, apikey, distributions,
                       resource_files, generate_new_access_url=None,
                       catalog_id=None):
      
      ckan_portal = RemoteCKAN(portal_url, apikey=apikey)
      result = []
      generate_new_access_url = generate_new_access_url or []
      for distribution in distributions:
          updated = False
          resource_id = catalog_id + '_' + distribution['identifier']\
              if catalog_id else distribution['identifier']
          fields = {'id': resource_id}
          if distribution['identifier'] in generate_new_access_url:
              fields.update({'accessURL': ''})
              updated = True
          if distribution['identifier'] in resource_files:
              fields.update({'resource_type': 'file.upload',
                             'upload':
                                 open(resource_files[distribution['identifier']],
                                      'rb')
                             })
              updated = True
          if updated:
              try:
                  pushed = ckan_portal.action.resource_patch(**fields)
                  result.append(pushed['id'])
              except CKANAPIError as e:
                  logger.exception(
                      "Error subiendo recurso {} a la distribución {}: {}"
                      .format(resource_files[distribution['identifier']],
                              resource_files, str(e)))
      return result
docs: Sube archivos locales a sus distribuciones correspondientes en el portal
       pasado por parámetro.
  
              Args:
                  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.
                  distributions(list): Lista de distribuciones posibles para
                      actualizar.
                  resource_files(dict): Diccionario con entradas
                      id_de_distribucion:path_al_recurso a subir
                  generate_new_access_url(list): Lista de ids de distribuciones a
                      las cuales se actualizará el accessURL con los valores
                      generados por el portal de destino
                  catalog_id(str): prependea el id al id del recurso para
                      encontrarlo antes de subirlo
              Returns:
                  list: los ids de los recursos modificados