cim/
lib.rs

1mod metadata;
2mod xml_tags;
3
4use clap::Parser;
5use std::error::Error;
6use xml_tags::xml_rs::XmlTagParser;
7
8#[derive(Parser)]
9#[clap(author, version, about, long_about = None)]
10pub struct Args {
11  #[clap(help = "Metadata file path")]
12  pub path: String,
13}
14
15pub fn run(args: Args) -> Result<String, Box<dyn Error>> {
16  let path = args.path;
17  let tag_parser = XmlTagParser::from_file(path)?;
18  let mut parser = metadata::Parser::new(Box::new(tag_parser));
19  let cds = parser.parse()?;
20  Ok(cds)
21}