use crate::cli::parser::DCTapArgs;
use crate::commands::base::{Command, CommandContext};
use anyhow::Result;
pub struct DctapCommand {
args: DCTapArgs,
}
impl DctapCommand {
pub fn new(args: DCTapArgs) -> Self {
Self { args }
}
}
impl Command for DctapCommand {
fn name(&self) -> &'static str {
"dctap"
}
fn execute(&self, ctx: &mut CommandContext) -> Result<()> {
let format = self.args.format.into();
let result_format = self.args.result_format.into();
ctx.rudof
.load_dctap(&self.args.file)
.with_dctap_format(&format)
.execute()?;
ctx.rudof
.serialize_dctap(&mut ctx.writer)
.with_result_dctap_format(&result_format)
.execute()?;
Ok(())
}
}