diff --git a/CREDITS.md b/CREDITS.md index d393e07..e02bd4f 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,31 +1,31 @@ # Project Dependencies Package: riprip - Version: 0.2.4 - Generated: 2024-02-08 20:31:27 UTC + Version: 0.2.5 + Generated: 2024-02-16 19:47:27 UTC | Package | Version | Author(s) | License | | ---- | ---- | ---- | ---- | -| [ahash](https://github.com/tkaitchuck/ahash) | 0.8.7 | [Tom Kaitchuck](mailto:tom.kaitchuck@gmail.com) | Apache-2.0 or MIT | -| [argyle](https://github.com/Blobfolio/argyle) | 0.7.1 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | +| [ahash](https://github.com/tkaitchuck/ahash) | 0.8.8 | [Tom Kaitchuck](mailto:tom.kaitchuck@gmail.com) | Apache-2.0 or MIT | +| [argyle](https://github.com/Blobfolio/argyle) | 0.7.2 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | [block-buffer](https://github.com/RustCrypto/utils) | 0.10.4 | RustCrypto Developers | Apache-2.0 or MIT | | [bytecount](https://github.com/llogiq/bytecount) | 0.6.7 | [Andre Bogus](mailto:bogusandre@gmail.de) and [Joshua Landau](mailto:joshua@landau.ws) | Apache-2.0 or MIT | | [cdtoc](https://github.com/Blobfolio/cdtoc) | 0.3.5 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | [cfg-if](https://github.com/alexcrichton/cfg-if) | 1.0.0 | [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | -| [crc32fast](https://github.com/srijs/rust-crc32fast) | 1.3.2 | [Sam Rijs](mailto:srijs@airpost.net) and [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | +| [crc32fast](https://github.com/srijs/rust-crc32fast) | 1.4.0 | [Sam Rijs](mailto:srijs@airpost.net) and [Alex Crichton](mailto:alex@alexcrichton.com) | Apache-2.0 or MIT | | [crypto-common](https://github.com/RustCrypto/traits) | 0.1.6 | RustCrypto Developers | Apache-2.0 or MIT | | [ctrlc](https://github.com/Detegr/rust-ctrlc.git) | 3.4.2 | [Antti Keränen](mailto:detegr@gmail.com) | Apache-2.0 or MIT | | [dactyl](https://github.com/Blobfolio/dactyl) | 0.7.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | [digest](https://github.com/RustCrypto/traits) | 0.10.7 | RustCrypto Developers | Apache-2.0 or MIT | | [faster-hex](https://github.com/NervosFoundation/faster-hex) | 0.9.0 | [zhangsoledad](mailto:787953403@qq.com) | MIT | | [fastrand](https://github.com/smol-rs/fastrand) | 2.0.1 | [Stjepan Glavina](mailto:stjepang@gmail.com) | Apache-2.0 or MIT | -| [fyi_msg](https://github.com/Blobfolio/fyi) | 0.12.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | +| [fyi_msg](https://github.com/Blobfolio/fyi) | 0.13.0 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | | [generic-array](https://github.com/fizyk20/generic-array.git) | 0.14.7 | [Bartłomiej Kamiński](mailto:fizyk20@gmail.com) and [Aaron Trent](mailto:novacrazy@gmail.com) | MIT | | [itoa](https://github.com/dtolnay/itoa) | 1.0.10 | [David Tolnay](mailto:dtolnay@gmail.com) | Apache-2.0 or MIT | | [libcdio-sys](https://github.com/gmes78/libcdio-sys) | 0.5.0 | [Joaquim Monteiro](mailto:joaquim.monteiro@protonmail.com) | GPL-3.0+ | | [log](https://github.com/rust-lang/log) | 0.4.20 | The Rust Project Developers | Apache-2.0 or MIT | | [minreq](https://github.com/neonmoe/minreq) | 2.11.0 | [Jens Pitkanen](mailto:jens@neon.moe) | ISC | | [oxford_join](https://github.com/Blobfolio/oxford_join) | 0.2.9 | [Blobfolio, LLC.](mailto:hello@blobfolio.com) | WTFPL | -| [riprip_core](https://github.com/Blobfolio/riprip) | 0.2.4 | [Josh Stoik](mailto:josh@blobfolio.com) | WTFPL | +| [riprip_core](https://github.com/Blobfolio/riprip) | 0.2.5 | [Josh Stoik](mailto:josh@blobfolio.com) | WTFPL | | [sha1](https://github.com/RustCrypto/hashes) | 0.10.6 | RustCrypto Developers | Apache-2.0 or MIT | | [tempfile](https://github.com/Stebalien/tempfile) | 3.10.0 | [Steven Allen](mailto:steven@stebalien.com), The Rust Project Developers, [Ashley Mannix](mailto:ashleymannix@live.com.au), and [Jason White](mailto:me@jasonwhite.io) | Apache-2.0 or MIT | | [term_size](https://github.com/kbknapp/term_size-rs.git) | 0.3.2 | [Kevin K.](mailto:kbknapp@gmail.com) and [Benjamin Sago](mailto:ogham@bsago.me) | Apache-2.0 or MIT | diff --git a/release/man/riprip.1 b/release/man/riprip.1 index 43045d9..f55b98a 100644 --- a/release/man/riprip.1 +++ b/release/man/riprip.1 @@ -1,6 +1,6 @@ -.TH "RIP RIP HOORAY!" "1" "February 2024" "Rip Rip Hooray! v0.2.4" "User Commands" +.TH "RIP RIP HOORAY!" "1" "February 2024" "Rip Rip Hooray! v0.2.5" "User Commands" .SH NAME -Rip Rip Hooray! \- Manual page for riprip v0.2.4. +Rip Rip Hooray! \- Manual page for riprip v0.2.5. .SH DESCRIPTION A specialized audio CD\-ripper optimized for incremental data recovery. .SS USAGE: diff --git a/riprip/Cargo.toml b/riprip/Cargo.toml index 6ee06df..5934a2a 100644 --- a/riprip/Cargo.toml +++ b/riprip/Cargo.toml @@ -1,10 +1,9 @@ [package] name = "riprip" -version = "0.2.4" +version = "0.2.5" license = "WTFPL" authors = ["Josh Stoik "] edition = "2021" -rust-version = "1.73" description = "A specialized audio CD-ripper optimized for incremental data recovery." repository = "https://github.com/Blobfolio/riprip" readme = "README.md" @@ -127,7 +126,7 @@ description = "Rip one or more specific tracks (rather than the whole disc). Mul duplicate = true [dependencies] -argyle = "0.7.*" +argyle = "0.7.2" ctrlc = "3.4.*" dactyl = "0.7.*" oxford_join = "0.2.*" @@ -135,7 +134,7 @@ trimothy = "0.2.*" utc2k = "0.8.*" [dependencies.fyi_msg] -version = "0.12.*" +version = "0.13.*" features = [ "progress" ] [dependencies.riprip_core] diff --git a/riprip/src/main.rs b/riprip/src/main.rs index 31dacf6..caa64c3 100644 --- a/riprip/src/main.rs +++ b/riprip/src/main.rs @@ -103,6 +103,44 @@ fn _main() -> Result<(), RipRipError> { // Load CLI arguments, if any. let args = Argue::new(FLAG_HELP | FLAG_VERSION)?; + // Check for unknown args. + if let Some(boo) = args.check_keys( + &[ + b"--backward", + b"--backwards", + b"--flip-flop", + b"--no-resume", + b"--no-rip", + b"--no-summary", + b"--reset", + b"--status", + b"--strict", + b"--sync", + b"--verbose", + b"-v", + ], + &[ + b"--cache", + b"--confidence", + b"--dev", + b"--offset", + b"--pass", + b"--passes", + b"--reread", + b"--rereads", + b"--track", + b"--tracks", + b"-c", + b"-d", + b"-o", + b"-p", + b"-r", + b"-t", + ], + ) { + return Err(RipRipError::CliArg(String::from_utf8_lossy(boo).into_owned())); + } + // Connect to the device and summarize the disc. let dev = args.option2_os(b"-d", b"--dev"); let disc = Disc::new(dev)?; diff --git a/riprip_core/Cargo.toml b/riprip_core/Cargo.toml index c024a53..68513f3 100644 --- a/riprip_core/Cargo.toml +++ b/riprip_core/Cargo.toml @@ -1,10 +1,9 @@ [package] name = "riprip_core" -version = "0.2.4" +version = "0.2.5" license = "WTFPL" authors = ["Josh Stoik "] edition = "2021" -rust-version = "1.73" description = "The library for Rip Rip Hooray." repository = "https://github.com/Blobfolio/riprip" readme = "README.md" @@ -19,11 +18,11 @@ trimothy = "0.2.*" utc2k = "0.8.*" [dependencies.argyle] -version = "0.7.*" +version = "0.7.2" optional = true [dependencies.fyi_msg] -version = "0.12.*" +version = "0.13.*" features = [ "progress" ] [dependencies.libcdio-sys] diff --git a/riprip_core/src/error.rs b/riprip_core/src/error.rs index 3b36130..1e78e99 100644 --- a/riprip_core/src/error.rs +++ b/riprip_core/src/error.rs @@ -103,6 +103,10 @@ pub enum RipRipError { /// # General CLI issues. Argue(argyle::ArgyleError), + #[cfg(feature = "bin")] + /// # Invalid CLI arg. + CliArg(String), + #[cfg(feature = "bin")] /// # CLI Parsing failure. CliParse(&'static str), @@ -167,6 +171,9 @@ impl fmt::Display for RipRipError { #[cfg(feature = "bin")] Self::Argue(a) => f.write_str(a.as_str()), + #[cfg(feature = "bin")] + Self::CliArg(s) => write!(f, "Invalid CLI option: {s}"), + #[cfg(feature = "bin")] Self::CliParse(s) => write!(f, "Unable to parse {s}."), }