mirror of
https://github.com/uutils/coreutils
synced 2024-10-07 00:19:14 +00:00
sleep: Use fundu instead of uucore::parse_time::from_str
This commit is contained in:
parent
946aab37ed
commit
3a28b616d9
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -3041,6 +3041,7 @@ name = "uu_sleep"
|
|||
version = "0.0.17"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"fundu",
|
||||
"uucore",
|
||||
]
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ path = "src/sleep.rs"
|
|||
|
||||
[dependencies]
|
||||
clap = { workspace=true }
|
||||
fundu = { workspace=true }
|
||||
uucore = { workspace=true }
|
||||
|
||||
[[bin]]
|
||||
|
|
|
@ -14,6 +14,7 @@ use uucore::{
|
|||
};
|
||||
|
||||
use clap::{crate_version, Arg, ArgAction, Command};
|
||||
use fundu::{self, DurationParser};
|
||||
|
||||
static ABOUT: &str = help_about!("sleep.md");
|
||||
const USAGE: &str = help_usage!("sleep.md");
|
||||
|
@ -61,10 +62,14 @@ pub fn uu_app() -> Command {
|
|||
|
||||
fn sleep(args: &[&str]) -> UResult<()> {
|
||||
let mut arg_error = false;
|
||||
|
||||
use fundu::TimeUnit::*;
|
||||
let parser = DurationParser::with_time_units(&[Second, Minute, Hour, Day]);
|
||||
|
||||
let sleep_dur = args
|
||||
.iter()
|
||||
.filter_map(|input| {
|
||||
uucore::parse_time::from_str(input.trim()).ok().or_else(|| {
|
||||
parser.parse(input.trim()).ok().or_else(|| {
|
||||
arg_error = true;
|
||||
show_error!("invalid time interval '{input}'");
|
||||
None
|
||||
|
|
Loading…
Reference in a new issue