use serde::{Deserialize, Serialize};
use crate::r_io_utils;
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct CksumData {
pub filename: String,
pub checksum: i64,
pub blocks: i32,
}
pub fn parse(data: Option<String>) -> Vec<CksumData> {
let mut buffer = String::new();
r_io_utils::determine_data_source(data, &mut buffer);
let mut cksums = vec![];
for sl in buffer.lines() {
if sl.starts_with("c") {
continue;
}
let mut line_parts = sl.split_whitespace();
cksums.push(CksumData {
checksum: line_parts.next().unwrap().parse::<i64>().unwrap(),
blocks: line_parts.next().unwrap().parse::<i32>().unwrap(),
filename: String::from(line_parts.next().unwrap()),
});
}
cksums
}