MCPcopy Index your code
hub / github.com/TPAFS/transparency-data / validate_headers

Function validate_headers

validator/src/main.rs:568–586  ·  view source on GitHub ↗
(
    reader: &mut csv::Reader<std::fs::File>,
    intended_headers: Vec<String>,
)

Source from the content-addressed store, hash-verified

566}
567
568fn validate_headers(
569 reader: &mut csv::Reader<std::fs::File>,
570 intended_headers: Vec<String>,
571) -> Result<(), Box<dyn Error>> {
572 let headers = reader.headers()?;
573 let intended_headers = csv::StringRecord::from(intended_headers);
574 let new_len = headers.len();
575 let old_len = intended_headers.len();
576 if new_len != old_len {
577 return Err(format!("Expected {} header cols, but found {}.\nPlease don't propose alterations to the headers in the same PR as a data submission.\n", old_len, new_len))?;
578 }
579 for (idx, header) in headers.iter().enumerate() {
580 let intended_header = &intended_headers[idx];
581 if header != intended_header {
582 return Err(format!("Expected header \"{}\" in column {} but found \"{}\".\nPlease don't alter the headers in a data submission.\n", intended_header, idx, header))?;
583 }
584 }
585 return Ok(());
586}
587
588fn validate_record(
589 record: csv::StringRecord,

Callers 1

validate_csvFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected