mirror of
https://github.com/ouch-org/ouch.git
synced 2025-06-03 10:00:19 +00:00
chore: improvements
This commit is contained in:
parent
8c8d00cab8
commit
3bf6aaa810
@ -31,7 +31,7 @@ pub struct DecompressOptions<'a> {
|
||||
pub formats: Vec<Extension>,
|
||||
pub output_dir: &'a Path,
|
||||
pub output_file_path: PathBuf,
|
||||
pub is_output_dir_explicit: bool,
|
||||
pub is_output_dir_provided: bool,
|
||||
pub question_policy: QuestionPolicy,
|
||||
pub quiet: bool,
|
||||
pub password: Option<&'a [u8]>,
|
||||
@ -74,7 +74,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> {
|
||||
options.output_dir,
|
||||
&options.output_file_path,
|
||||
options.question_policy,
|
||||
options.is_output_dir_explicit,
|
||||
options.is_output_dir_provided,
|
||||
)? {
|
||||
files
|
||||
} else {
|
||||
@ -152,7 +152,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> {
|
||||
options.output_dir,
|
||||
&options.output_file_path,
|
||||
options.question_policy,
|
||||
options.is_output_dir_explicit,
|
||||
options.is_output_dir_provided,
|
||||
)? {
|
||||
files
|
||||
} else {
|
||||
@ -186,7 +186,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> {
|
||||
options.output_dir,
|
||||
&options.output_file_path,
|
||||
options.question_policy,
|
||||
options.is_output_dir_explicit,
|
||||
options.is_output_dir_provided,
|
||||
)? {
|
||||
files
|
||||
} else {
|
||||
@ -218,7 +218,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> {
|
||||
options.output_dir,
|
||||
&options.output_file_path,
|
||||
options.question_policy,
|
||||
options.is_output_dir_explicit,
|
||||
options.is_output_dir_provided,
|
||||
)? {
|
||||
files
|
||||
} else {
|
||||
@ -260,7 +260,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> {
|
||||
options.output_dir,
|
||||
&options.output_file_path,
|
||||
options.question_policy,
|
||||
options.is_output_dir_explicit,
|
||||
options.is_output_dir_provided,
|
||||
)? {
|
||||
files
|
||||
} else {
|
||||
@ -295,9 +295,9 @@ fn execute_decompression(
|
||||
output_dir: &Path,
|
||||
output_file_path: &Path,
|
||||
question_policy: QuestionPolicy,
|
||||
is_output_dir_explicit: bool,
|
||||
is_output_dir_provided: bool,
|
||||
) -> crate::Result<ControlFlow<(), usize>> {
|
||||
if is_output_dir_explicit {
|
||||
if is_output_dir_provided {
|
||||
unpack(unpack_fn, output_dir, question_policy)
|
||||
} else {
|
||||
smart_unpack(unpack_fn, output_dir, output_file_path, question_policy)
|
||||
@ -313,7 +313,7 @@ fn unpack(
|
||||
output_dir: &Path,
|
||||
question_policy: QuestionPolicy,
|
||||
) -> crate::Result<ControlFlow<(), usize>> {
|
||||
let is_valid_output_dir = !output_dir.exists() || (output_dir.is_dir() && output_dir.read_dir()?.count() == 0);
|
||||
let is_valid_output_dir = !output_dir.exists() || (output_dir.is_dir() && output_dir.read_dir()?.next().is_none());
|
||||
|
||||
let output_dir_cleaned = if is_valid_output_dir {
|
||||
output_dir.to_owned()
|
||||
|
@ -176,7 +176,7 @@ pub fn run(
|
||||
|
||||
// The directory that will contain the output files
|
||||
// We default to the current directory if the user didn't specify an output directory with --dir
|
||||
let is_output_dir_explicit = output_dir.is_some();
|
||||
let is_output_dir_provided = output_dir.is_some();
|
||||
let output_dir = if let Some(dir) = output_dir {
|
||||
utils::create_dir_if_non_existent(&dir)?;
|
||||
dir
|
||||
@ -200,7 +200,7 @@ pub fn run(
|
||||
formats,
|
||||
output_dir: &output_dir,
|
||||
output_file_path,
|
||||
is_output_dir_explicit,
|
||||
is_output_dir_provided,
|
||||
question_policy,
|
||||
quiet: args.quiet,
|
||||
password: args.password.as_deref().map(|str| {
|
||||
|
Loading…
x
Reference in New Issue
Block a user