Last active
May 2, 2019 23:45
-
-
Save fernandobarbalho/c814fdb794907645cae1978c096cdf8a to your computer and use it in GitHub Desktop.
Função para atualizar informações de licença todos os datasets de uma URL de ckan
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |
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
Alterações para focar apenas nas informações de licença