def restaurar_andino(nodo_origen_url, nodo_destino_url, nodo_destino_apikey):
"""Restaura temas, organizaciones y datasets de un Andino a otro."""
# toma los themes del nodo origen y los crea en el destino
print("Copiando temas de origen a destino...")
catalog_origen = DataJson(nodo_origen_url + "/data.json")
catalog_origen.push_new_themes(nodo_destino_url, nodo_destino_apikey)
print("Temas copiados.")
# toma las organizaciones del nodo origen y las crea en el destino
print("Copiando organizaciones de origen a destino...")
organizations_origen = federation.get_organizations_from_ckan(nodo_origen_url)
orgs_result = federation.push_organization_tree_to_ckan(
nodo_destino_url, nodo_destino_apikey, organizations_origen)
print("Organizaciones copiadas.")
#print(orgs_result)
# toma los datasets del nodo origen y los restaura en el destino
print("Restaurando datasets...")
pushed_datasets = catalog_origen.restore_catalog_to_ckan(
nodo_origen_url,
nodo_destino_url,
nodo_destino_apikey
#download_strategy=is_local_andino_resource
)
print("{} restaurados".format(len(pushed_datasets)))
return pushed_datasets
Y corta la restauración si encuentra un error de timeout
El código en cuestión:
Y corta la restauración si encuentra un error de timeout