R/odcr_scrape_remaining.R

Defines functions odcr_scrape_remaining

odcr_scrape_remaining <- function(courts, casetypes, years) {
  
  for (i in courts) {
    for (j in casetypes) {
      if (i %in% c("HENRYETTA", "DRUMWRIGHT") & j == "SC") {
        message("Skipping ", i, " ", j)
      } else {
        for (k in years) {
          connect_ojo()
          
          got <- dbGetQuery(ojo_db,
                            paste0("SELECT court, casetype, file_year, casenum
                                FROM odcr_caseinfo
                                WHERE court = '", i, "'
                                AND casetype = '", j, "'
                                AND file_year = ", k)) %>%
            mutate(case_seq = str_sub(casenum, 9, 13) %>%
                     as.numeric)
          
          disconnect_ojo()
          
          message(paste("Checking", i, j, "cases in", k, max(got$case_seq)))
          
          lastgot <- if (nrow(got) > 0) {max(got$case_seq)} else {1}
          
          lastcase <- oscn_lastcase(i, j, k)
          
          if (is.null(lastcase)) {
            
            message("No cases found.")
            
          } else {
            
            if (lastcase > lastgot) {
              message(paste("Last case sequence", lastgot, "scraping to", lastcase))
              
              odcr_scrape(i, j, k, lastgot:lastcase, updatedb = TRUE)
              
            } else {
              message("No new cases found.")
            }
          }
        }
      }
    }
  }
}
openjusticeok/ojo documentation built on Feb. 2, 2021, 5:47 a.m.