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