mirror of
https://github.com/lifegpc/msg-tool.git
synced 2026-06-07 21:38:58 +08:00
Add new args
This commit is contained in:
@@ -233,6 +233,9 @@ pub struct Arg {
|
||||
#[arg(long, global = true, value_enum, default_value_t = crate::scripts::circus::image::crx::CircusCrxMode::Auto)]
|
||||
/// Circus CRX image row type mode
|
||||
pub circus_crx_mode: crate::scripts::circus::image::crx::CircusCrxMode,
|
||||
#[arg(short = 'F', long, global = true, action = ArgAction::SetTrue)]
|
||||
/// Force all files in archive to be treated as script files.
|
||||
pub force_script: bool,
|
||||
#[command(subcommand)]
|
||||
/// Command
|
||||
pub command: Command,
|
||||
|
||||
30
src/main.rs
30
src/main.rs
@@ -401,8 +401,19 @@ pub fn export_script(
|
||||
continue;
|
||||
}
|
||||
};
|
||||
if f.is_script() {
|
||||
let (script_file, _) = parse_script_from_archive(&mut f, arg, config, &script)?;
|
||||
if arg.force_script || f.is_script() {
|
||||
let (script_file, _) = match parse_script_from_archive(&mut f, arg, config, &script)
|
||||
{
|
||||
Ok(s) => s,
|
||||
Err(e) => {
|
||||
eprintln!("Error parsing script '{}' from archive: {}", filename, e);
|
||||
COUNTER.inc_error();
|
||||
if arg.backtrace {
|
||||
eprintln!("Backtrace: {}", e.backtrace());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
};
|
||||
#[cfg(feature = "image")]
|
||||
if script_file.is_image() {
|
||||
if script_file.is_multi_image() {
|
||||
@@ -896,8 +907,19 @@ pub fn import_script(
|
||||
}
|
||||
};
|
||||
let mut writer = arch.new_file(f.name())?;
|
||||
if f.is_script() {
|
||||
let (script_file, _) = parse_script_from_archive(&mut f, arg, config, &script)?;
|
||||
if arg.force_script || f.is_script() {
|
||||
let (script_file, _) = match parse_script_from_archive(&mut f, arg, config, &script)
|
||||
{
|
||||
Ok(s) => s,
|
||||
Err(e) => {
|
||||
eprintln!("Error parsing script '{}' from archive: {}", filename, e);
|
||||
COUNTER.inc_error();
|
||||
if arg.backtrace {
|
||||
eprintln!("Backtrace: {}", e.backtrace());
|
||||
}
|
||||
continue;
|
||||
}
|
||||
};
|
||||
let mut of = match &arg.output_type {
|
||||
Some(t) => t.clone(),
|
||||
None => script_file.default_output_script_type(),
|
||||
|
||||
Reference in New Issue
Block a user