Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Função para atualizar informações de licença todos os datasets de uma URL de ckan
update_all_licence <- function(key, url, limit=1000, license_title,license_id,license_url ){
#key: chave do usuário que tem direitos de atualizações sobre datasets
#url: url principal do índice do ckan
#license_title: título da licença
#license_id: id da licença
#license_url: url da licença
#limite: normalmente está associado ao número de datasets do usuário. Atribui-se um valor default de 1000
#Esse vetor registrará os erros ocorridos durante o processo de atualização
v_erro<-character()
#Busca todos os datasets da URL.
list_ds<- ckanr::package_list(url=url ,as="table", limit=limit)
#itera por toda a lista de datasets para fazer as atualizações
for (ds in list_ds){
print(ds)
#localiza o package da iteração corrente
list_search<- ckanr::package_search(ds, url=url)
ds_ckan<- ckanr::package_show(list_search[["results"]][[1]][["id"]],url="https://apickan.tesouro.gov.br/ckan", as= "table")
ds_ckan$license_title <- license_title
ds_ckan$license_id<- license_id
ds_ckan$license_url <- license_url
#tenta fazer a alteração
res<- try(ckanr::package_update(x= ds_ckan,
url=url,
id=list_search[["results"]][[1]][["id"]],
key = key))
if(inherits(res, "try-error")){
#se der erro, acrescenta o ds ao vetor de erro
v_erro <- c(v_erro,ds)
}
}
v_erro
}
@fernandobarbalho

This comment has been minimized.

Copy link
Owner Author

commented May 2, 2019

Alterações para focar apenas nas informações de licença

@fernandobarbalho

This comment has been minimized.

Copy link
Owner Author

commented May 2, 2019

Correção nos comentários dos atributos da função

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.