diff options
author | stuebinm | 2022-11-05 13:37:41 +0100 |
---|---|---|
committer | stuebinm | 2022-11-05 13:37:41 +0100 |
commit | e618ae8742a2ca2739a12fe3869c534c4180c500 (patch) | |
tree | a9f272700f727008fef571dc3934c342dfa1a1f4 /src | |
parent | f3daba4974b1e543e14e7a626bf2d0bcdcd4190f (diff) |
better cli options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index fd02f82..81a5067 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,10 +9,13 @@ use clap::Parser; #[command(author, version, about, long_about = None)] struct Args { /// uri of the GTFS RT feed to fetch & display - #[arg(long)] url: String, + /// emit the feed as json + #[arg(long)] + json: bool } + #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let args = Args::parse(); @@ -21,8 +24,13 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { .bytes().await?; let proto = FeedMessage::parse_from_bytes(&resp[..])?; - - println!("{}", protobuf::text_format::print_to_string_pretty(&proto)); + + match args.json { + true => + println!("{}", protobuf_json_mapping::print_to_string(&proto)?), + false => + println!("{}", protobuf::text_format::print_to_string_pretty(&proto)) + } Ok(()) } |