edit_tag/
edit_tag.rs

1use std::env::args;
2use std::fs::OpenOptions;
3use std::io::Seek;
4use std::path::PathBuf;
5
6use multitag::Tag;
7
8fn main() {
9    let path = PathBuf::from(args().nth(1).unwrap());
10    let mut file = OpenOptions::new()
11        .read(true)
12        .write(true)
13        // .truncate(true)
14        .open(&path)
15        .unwrap();
16
17    let extension = path.extension().unwrap().to_str().unwrap();
18
19    let mut tag = Tag::read_from(extension, &file).unwrap();
20
21    file.rewind().unwrap();
22
23    let title = args().skip(2).collect::<Vec<String>>().join(" ");
24
25    tag.set_title(&title);
26    tag.write_to_file(&mut file).unwrap();
27}