| dirname(out) | dirname(out) | ||||
| } | } | ||||
| out_committees <- function(path_out_cover) { | |||||
| out_committees <- function(path_out_cover, path_out_report_list) { | |||||
| out <- path("data-out", "committees", "committees.parquet") | out <- path("data-out", "committees", "committees.parquet") | ||||
| dir_create(path_dir(out)) | dir_create(path_dir(out)) | ||||
| cover <- out_open_dataset_db(path_out_cover) | cover <- out_open_dataset_db(path_out_cover) | ||||
| report_list <- out_open_dataset_db(path_out_report_list) | |||||
| committee_name_address <- | committee_name_address <- | ||||
| cover |> | cover |> | ||||
| distinct(sboe_id, committee_name, street_1, street_2, city, state, zip_code) |> | |||||
| inner_join( | |||||
| report_list |> select(report_id, doc_order), | |||||
| by = "report_id" | |||||
| ) |> | |||||
| group_by(sboe_id) |> | |||||
| slice_max(doc_order, n = 1) |> | |||||
| ungroup() |> | |||||
| select(sboe_id, committee_name, report_id, street_1, street_2, city, state, zip_code) |> | |||||
| add_address_lookup(postal_code = zip_code) | add_address_lookup(postal_code = zip_code) | ||||
| committee_type <- | committee_type <- |
| receipts <- | receipts <- | ||||
| receipts |> | receipts |> | ||||
| left_join(receipts_payer, by = cols_payer_common) |> | left_join(receipts_payer, by = cols_payer_common) |> | ||||
| select(-one_of(cols_payer_common)) |> | |||||
| select(-any_of(cols_payer_common)) |> | |||||
| mutate( | |||||
| is_donation = receipt_type_code %in% c("IND", "CPCM", "GEN", "PPTY", "OUTS", "NFPC"), | |||||
| .after = receipt_type_code | |||||
| ) |> | |||||
| relocate(payer_id, .after = report_id) |> | relocate(payer_id, .after = report_id) |> | ||||
| collect() | collect() | ||||
| } | } | ||||
| out_report_list <- function(report_list) { | out_report_list <- function(report_list) { | ||||
| out <- path("data-out", "report_list", "report_list.parquet") | |||||
| out <- path("data-out", "reports", "reports.parquet") | |||||
| dir_create(path_dir(out)) | dir_create(path_dir(out)) | ||||
| arrow::write_parquet(report_list, out) | |||||
| report_list |> | |||||
| mutate(doc_order = as.integer(doc_name), .after = doc_name) |> | |||||
| arrow::write_parquet(out) | |||||
| dirname(out) | dirname(out) | ||||
| } | } |
| voter_statewide_convert_parquet <- function(path) { | voter_statewide_convert_parquet <- function(path) { | ||||
| path <- fs::path_norm(path) | path <- fs::path_norm(path) | ||||
| path_out <- fs::path_ext_set(tolower(path), "parquet") | |||||
| path_out <- path("data-out", "voters", "voters.parquet") | |||||
| dir_create(path_dir(path_out)) | |||||
| x <- readr::read_tsv(path, col_types = voter_statewide_spec()) | x <- readr::read_tsv(path, col_types = voter_statewide_spec()) | ||||
| arrow::write_parquet(x, path_out) | arrow::write_parquet(x, path_out) |
| ## Voter registration records | ## Voter registration records | ||||
| tar_target(path_voters_txt, voter_statewide_download(), cue = tar_cue("never")), #<< invalidate to get latest | tar_target(path_voters_txt, voter_statewide_download(), cue = tar_cue("never")), #<< invalidate to get latest | ||||
| tar_target( | tar_target( | ||||
| path_voters_parquet, | |||||
| path_out_voters, | |||||
| voter_statewide_convert_parquet(path_voters_txt), | voter_statewide_convert_parquet(path_voters_txt), | ||||
| cue = tar_cue("never"), | cue = tar_cue("never"), | ||||
| format = "file" | format = "file" | ||||
| tar_target( | tar_target( | ||||
| path_out_committees, | path_out_committees, | ||||
| out_committees(path_out_cover), | |||||
| out_committees(path_out_cover, path_out_report_list), | |||||
| format = "file" | format = "file" | ||||
| ), | ), | ||||