summaryrefslogtreecommitdiffstats
path: root/sq
diff options
context:
space:
mode:
authorNora Widdecke <nora@sequoia-pgp.org>2022-06-08 11:00:58 +0200
committerNora Widdecke <nora@sequoia-pgp.org>2022-06-08 14:49:43 +0200
commit8f361c37704194914d3f095050e1c8b7d51cb3bd (patch)
tree06267a6ea154d3eb95c7533a8fb99f5d186b1ee7 /sq
parent5446aca755fb17b6ffac984f27aca3076aa5feee (diff)
sq: Adapt verify command to clap3's derive style.
- This is part of the effort of moving to clap3's derive API and profit from the added type safety.
Diffstat (limited to 'sq')
-rw-r--r--sq/src/sq.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/sq/src/sq.rs b/sq/src/sq.rs
index a794f8a9..ae3a8cd1 100644
--- a/sq/src/sq.rs
+++ b/sq/src/sq.rs
@@ -553,19 +553,21 @@ fn main() -> Result<()> {
}
},
Some(("verify", m)) => {
- let mut input = open_or_stdin(m.value_of("input"))?;
+ use clap::FromArgMatches;
+ let command = sq_cli::VerifyCommand::from_arg_matches(m)?;
+
+ // TODO: Fix interface of open_or_stdin, create_or_stdout_safe, etc.
+ let mut input = open_or_stdin(command.input.as_deref())?;
let mut output =
- config.create_or_stdout_safe(m.value_of("output"))?;
- let mut detached = if let Some(f) = m.value_of("detached") {
+ config.create_or_stdout_safe(command.output.as_deref())?;
+ let mut detached = if let Some(f) = command.detached {
Some(File::open(f)?)
} else {
None
};
- let signatures: usize =
- m.value_of("signatures").expect("has a default").parse()?;
- let certs = m.values_of("sender-cert-file")
- .map(load_certs)
- .unwrap_or_else(|| Ok(vec![]))?;
+ let signatures = command.signatures;
+ // TODO ugly adaptation to load_certs' signature, fix later
+ let certs = load_certs(command.sender_cert_file.iter().map(|s| s.as_ref()))?;
commands::verify(config, &mut input,
detached.as_mut().map(|r| r as &mut (dyn io::Read + Sync + Send)),
&mut output, signatures, certs)?;