Skip to content

Commit

Permalink
cli: allow negative numbers as values (#50)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason Mobarak authored May 6, 2022
1 parent e520176 commit d7a1780
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 90 deletions.
159 changes: 83 additions & 76 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ publish = false
[dependencies]
curl = "0.4"
curl-sys = "0.4"
structopt = "0.3"
clap = { version = "3", features = ["derive"] }
chrono = "0.4"

[build-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion Makefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ condition = { env_set = [
"CARGO_MAKE_PROJECT_VERSION",
"CARGO_MAKE_BINARY_EXECUTABLE_NAME",
], env_true = ["CARGO_MAKE_CI"] }
env = { "OUTPUT_NAME" = "${CARGO_MAKE_PROJECT_NAME}-${CARGO_MAKE_PROJECT_VERSION}-${CARGO_MAKE_RELEASE_FLOW_TARGET}" }
env = { OUTPUT_NAME = "${CARGO_MAKE_PROJECT_NAME}-${CARGO_MAKE_PROJECT_VERSION}-${CARGO_MAKE_RELEASE_FLOW_TARGET}" }
script_runner = "@duckscript"
script = '''
OUTPUT_NAME = get_env OUTPUT_NAME
Expand Down
28 changes: 16 additions & 12 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,38 @@ use std::ops::Add;
use std::time::{Duration, SystemTime, UNIX_EPOCH};

use chrono::{DateTime, Utc};
use clap::Parser;
use curl::easy::{Easy, HttpVersion, List, ReadError};
use curl_sys::{curl_easy_setopt, CURLoption};
use structopt::StructOpt;

const CURLOPT_HTTP09_ALLOWED: CURLoption = 285;

#[derive(Debug, StructOpt)]
#[structopt(name = "ntripping", about = "NTRIP command line client.", version = env!("VERGEN_SEMVER_LIGHTWEIGHT"))]
struct Opt {
#[structopt(long, default_value = "na.skylark.swiftnav.com:2101/CRS")]
#[derive(Debug, Parser)]
#[clap(name = "ntripping", about = "NTRIP command line client.", version = env!("VERGEN_SEMVER_LIGHTWEIGHT"))]
struct Cli {
#[clap(long, default_value = "na.skylark.swiftnav.com:2101/CRS")]
url: String,

#[structopt(long, default_value = "37.77101999622968")]
#[clap(long, default_value = "37.77101999622968", allow_hyphen_values = true)]
lat: String,

#[structopt(long, default_value = "-122.40315159140708")]
#[clap(
long,
default_value = "-122.40315159140708",
allow_hyphen_values = true
)]
lon: String,

#[structopt(long, default_value = "-5.549358852471994")]
#[clap(long, default_value = "-5.549358852471994", allow_hyphen_values = true)]
height: String,

#[structopt(long, default_value = "00000000-0000-0000-0000-000000000000")]
#[clap(long, default_value = "00000000-0000-0000-0000-000000000000")]
client: String,

#[structopt(short, long)]
#[clap(short, long)]
verbose: bool,

#[structopt(long)]
#[clap(long)]
epoch: Option<u32>,
}

Expand All @@ -53,7 +57,7 @@ fn checksum(buf: &[u8]) -> u8 {
}

fn main() -> Result<()> {
let opt = Opt::from_args();
let opt = Cli::parse();

let latf: f64 = opt.lat.parse::<f64>()?;
let lonf: f64 = opt.lon.parse::<f64>()?;
Expand Down

0 comments on commit d7a1780

Please sign in to comment.