R/cpo-pg.R

Defines functions cpo_pg build_url_cpo_pg

Documented in cpo_pg

#' Funcao que faz o download das informacoes de um processo de primeiro
#' grau (PG) no TJSP.
#'
#' Retorna um data.frame com os metadados basicos e andamentos do processo
#'
#' @export
cpo_pg <- function(processos, path = 'data-raw/cpo-pg') {
  cpo_pg_um <- function(p, path) {
    p <- gsub('[^0-9]', '', p)
    arq <- sprintf('%s/%s.html', path, p)
    if (!is.null(path) & file.exists(arq)) {
      return(dplyr::data_frame(result = 'arquivo existe'))
    }
    Sys.sleep(1)
    u <- build_url_cpo_pg(p)
    if (!file.exists(arq)) {
      r <- httr::GET(u, httr::config(ssl_verifypeer = FALSE),
                     httr::write_disk(arq))
    }
    k <- TRUE
    while (r$status_code != 200) {
      if (k) cat("\nesperando...") else cat("...")
      if (!file.exists(arq)) {
        r <- httr::GET(u, httr::config(ssl_verifypeer = FALSE),
                       httr::write_disk(arq))
      }
      k <- FALSE
    }
    if (!k) cat("\n")
    return(dplyr::data_frame(result = 'OK'))
  }
  f <- dplyr::failwith(dplyr::data_frame(result = 'erro'), cpo_pg_um)
  d <- dplyr::data_frame(n_processo = unique(processos))
  d <- dplyr::do(dplyr::group_by(d, n_processo), f(.$n_processo, path = path))
  d <- dplyr::ungroup(d)
  d
}


build_url_cpo_pg <- function(p) {
  p <- gsub("[^0-9]", "", as.character(p))
  dados_url <- list("paginaConsulta" = "1",
                    "localPesquisa.cdLocal" = "-1",
                    "cbPesquisa" = "NUMPROC",
                    "tipoNuProcesso" = "UNIFICADO",
                    "numeroDigitoAnoUnificado" = "",
                    'foroNumeroUnificado' = "",
                    'dePesquisaNuUnificado' = "",
                    'dePesquisa' = "")
  dados_url[["numeriDigitoAnoUnificado"]] <- stringr::str_sub(p, end = 15)
  dados_url[["foroNumeroUnificado"]] <- stringr::str_sub(p, start = 22)
  dados_url[["dePesquisaNuUnificado"]] <- p
  url1 <- "http://esaj.tjsp.jus.br/cpo/pg/search.do"
  parametros <- paste(names(dados_url), unlist(dados_url), sep = "=")
  url2 <- paste(url1, paste0(parametros, collapse = "&"), sep = "?")
  url2
}

#_______________________________________________________________________________
jtrecenti/brunoSalama documentation built on May 20, 2019, 3:16 a.m.