diff --git a/src/main.rs b/src/main.rs index 8e7d962..6d69ebf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,22 +4,23 @@ use serde_json::Value; fn main() -> std::io::Result<()> { let json_string = fs::read_to_string("boards/coding.json")?; let output_dir = "output"; - fs::create_dir(output_dir); + fs::create_dir(&output_dir)?; let json_data: Value = serde_json::from_str(&json_string).unwrap(); - - let board_dir = output_dir.to_owned() + "/" + json_data["name"].as_str().unwrap(); - fs::create_dir(&board_dir).expect("unable to create dir"); + let board_dir = format!("{}/{}", &output_dir, &json_data["name"]); + fs::create_dir(&board_dir)?; if let Value::Array(lists) = &json_data["lists"]{ if let Value::Array(cards) = &json_data["cards"]{ for list in lists { - fs::create_dir(board_dir.clone() + "/" + list["name"].as_str().unwrap())?; + let list_dir = format!("{}/{}", &board_dir, list["name"]); + fs::create_dir(&list_dir)?; for card in cards { if card["idList"] == list["id"]{ println!("{}: {}", list["name"], card["name"]); - let mut file = fs::File::create(board_dir.clone() + "/" + list["name"].as_str().unwrap() + "/" + card["name"].as_str().unwrap() + ".md"); + let file_path = format!("{}/{}/{}.md", &board_dir, &list_dir, &card["name"]); + let mut _file = fs::File::create(&file_path); //file.write_all(b"#" + card["name"].as_str().unwrap()); } }