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}