1#[path = "../src/flush.rs"]
2mod flush;
3
4use std::{env, fs::OpenOptions, io::Write, path::Path};
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let args: Vec<_> = env::args().skip(1).collect();
7 if args.len() != 3 {
8 return Err("Usage: create_section OUTPUT TEXT AUTHOR".into());
9 }
10 let name = Path::new(&args[0])
11 .file_name()
12 .and_then(|name| name.to_str())
13 .ok_or("Invalid section name")?;
14 let bytes = onestore::create_section(name, &args[1], &args[2])?;
15 let mut file = OpenOptions::new()
16 .create_new(true)
17 .write(true)
18 .open(&args[0])?;
19 file.write_all(&bytes)?;
20 flush::flush(&file)?;
21 Ok(())
22}